目录
创建操作
创建或者插入操作可向MongoDB集合中添加文档。如果集合不存在则MongoDB 插入操作会自动创建。
MongoDB提供以下方法向MongoDB集合中插入文档:
db.collection.insertOne()
New in version 3.2db.collection.insertMany()
New in version 3.2
在MongoDB中,文档插入操作的目标是单个集合。所有基于单文档的写操作都是原子的。如向users集合添加文档:
读取(查)操作
读取操作就是从MongoDB 集合中获取文档,即查询文档集。MongoDB提供以下方法从集合中查询文档:
可以指定查询过滤器或者条件以便返回指定文档,如查询age>18的5个文档,返回包含name和address字段:
{
"_id" : ObjectId("5b5293e271fd3aefbaa94715"),
"name" : "sue",
"age" : 18.0
}
更新操作
更新操作修改MongoDB集合中已存在的文档。MongoDB提供以下更新方法:
db.collection.updateOne()
New in version 3.2db.collection.updateMany()
New in version 3.2db.collection.replaceOne()
New in version 3.2
在MongoDB中,文档更新操作的目标是单个集合。所有基于单文档的写操作都是原子的。
可以指定更新过滤器或者条件以便更新指定文档,过滤器语法和上述读取文档的一致,如将age<18的用户status字段更新为"reject":
{
"acknowledged" : true, //响应状态
"matchedCount" : 1.0, //匹配文档数
"modifiedCount" : 0.0 //此次更新文档数
}
删除操作
删除操作从集合中移除文档。MongoDB提供以下删除文档方法:
db.collection.deleteOne()
New in version 3.2db.collection.deleteMany()
New in version 3.2
在MongoDB中,文档删除操作的目标是单个集合。所有基于单文档的写操作都是原子的。
可以指定删除过滤器或者条件以便删除指定文档,过滤器语法和上述读取文档的一致,如删除status为"reject"的文档:
{
"acknowledged" : true,
"deletedCount" : 1.0 //此次删除的文档数
}
批量写操作
MongoDB提供了批量写的能力,具体见后文章节Bulk Write Operations 。