MongoDB(二)CRUD 指令简单汇总

1

前言

本教程适合有一定数据库开发经验的人员阅读。对于刚开始接触数据库的童鞋,建议直接跳到本文的References中去选择更适合的教程。还有一点需要注意的是,mongodb的版本2和版本3之间存在很大差异,查看教程的时候一定要注意~

一般指令

use DATABASE_NAME:切换到数据库,如果该数据库不存在,则自动创建
show dbs:查看所有的数据库
show tables:查看所有的集合
db.dropDatabase():进入数据库后删除数据库
db.COLLECTION_NAME.drop():删除集合
db.COLLECTION_NAME.find():查看集合中的所有内容或是特定内容

插入文档

db.COLLECTION_NAME.insertOne():向指定集合中插入一条文档数据
db.COLLECTION_NAME.insertMany():向指定集合中插入多条文档数据

还有很多等价的插入操作

db.collection.update() : upsert:true
db.collection.updateOne(): upsert:true
db.collection.updateMany(): upsert:true
db.collection.findAndModify(): upsert:true
db.collection.findOneAndUpdate(): upsert:true
db.collection.findOneAndReplace(): upsert:true
db.collection.save().
db.collection.bulkWrite().

更新文档

update

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

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

db.collection.updateOne() 向指定集合更新单个文档
db.collection.updateMany() 向指定集合更新多个文档

例子:

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

save

    db.collection.save(
       <document>,
       {
         writeConcern: <document>
       }
    )

document : 文档数据。
writeConcern :可选,抛出异常的级别。

replace

db.collection.replaceOne()

删除文档

db.COLLECTION_NAME.deleteMany():删除单个文档
db.COLLECTION_NAME.deleteOne():删除多个文档

查询文档

db.COLLECTION_NAME.find({<field1>: <value1>, <field1>: { <operator1>: <value1> }}):field指名称,operator指操作符
db.collection.findOne()

example

db.inventory.find( { status: "D" } )
等价于SELECT * FROM inventory WHERE status = "D"

db.inventory.find( { status: { $in: [ "A", "D" ] } } )
等价于SELECT * FROM inventory WHERE status in ("A", "D")

db.inventory.find( { status: "A", qty: { $lt: 30 } } )
等价于SELECT * FROM inventory WHERE status = "A" AND qty < 30

db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } )
等价于SELECT * FROM inventory WHERE status = "A" OR qty < 30

更多和操作符相关的查看该文档

查询内嵌的对象,使用标识符.

db.inventory.find( { "size.uom": "in" } )

References

菜鸟教程MongoDB入门
runnob MongoDB入门
MongoDB中文手册
官方教程


如果觉得我的文章对你有用,请随意赞赏

你可能感兴趣的

载入中...