MongoDB 数据库增删改查 常用命令 api 2019-07-15

数据库操作(database)

mongo shell 使用javascript,语法大部分与其一致

  • 创建数据库:
    use DATABASE_NAME
  • 显示当前进入的数据库:
    db
  • 查看所有的数据库:
    show dbs
  • 删除数据库(删除的是当前使用的数据库):
    db.dropDatabase()

集合操作(collection)

  • 创建集合:
    db.createCollection(name, options)
字段 类型 描述
capped 布尔 (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。
autoIndexId 布尔 (可选)如为 true,自动在 _id 字段创建索引。默认为 false。
size 数值 (可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定该字段。
max 数值 (可选)指定固定集合中包含文档的最大数量。

在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。

  • 删除集合
    db.collection_name.drop()

文档操作(document)

  • 插入文档:

可使用 insert() 或 save() 方法向集合中插入文档,当新增的文档存在主键(_id),且集合内存在主键相同的文档时,insert() 会提示错误,而save() 则更改原来的内容为新内容

db.collection_name.insert({"name":"迷藏"})
或者
document ={"name":"迷藏"}
db.collection_name.insert(document)
collection_name为集合名

注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。

  • 查看文档:
    db.collection_name.find()
  • 更新文档:
    db.collection.update(, , { upsert: , multi: , writeConcern: })
参数 描述
query update的查询条件,类似sql update查询内where后面的。
update update的对象和一些更新的操作符(如inc...)等,也可以理解为sql update查询内set后面的
upsert 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern 可选,抛出异常的级别。

示例 :db.collection_name.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})

  • save方法更新:
    db.collection.save(,{writeConcern:})

  • 删除文档(过时):
    db.collection.remove( , { justOne: , writeConcern: } )

  • 如删除集合下全部文档:
    db.col.remove({})
    db.collection.deleteMany({})

  • 删除 status 等于 A 的全部文档:
    db.collection.deleteMany({ status : "A" })

  • 删除 status 等于 D 的一个文档:
    db.collection.deleteOne( { status: "D" } )

  • 查询文档:
    db.collection.find(query, projection)

若不想指定查询条件参数 query 可以 用 {} 代替,但是需要指定 projection 参数:
若不指定 projection,则默认返回所有键,指定 projection 格式如下,有两种模式
db.collection.find(query, {title: 1, by: 1}) // inclusion模式 指定返回的键,不返回其他键
db.collection.find(query, {title: 0, by: 0}) // exclusion模式 指定不返回的键,返回其他键
除了 find() 方法之外,还有一个 findOne() 方法,它只返回一个文档。
  • 易读:pretty()
    db.col.find().pretty()

  • 多条件查询:
    And
    db.col.find({key1:value1, key2:value2}).pretty()
    Or
    db.col.find( { $or: [ {key1: value1}, {key2:value2} ] } ).pretty()

  • 操作符
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte

db.col.find({likes : {$lt :200, $gt : 100}})

你可能感兴趣的:(MongoDB 数据库增删改查 常用命令 api 2019-07-15)