Mar*_*des 46 mongodb nosql mongodb-query
什么之间的差异insert(),insertOne()以及insertMany()对MongoDB的方法.在什么情况下我应该使用每一个?
我阅读了文档,但是使用每个文档时都不清楚.
sty*_*ane 68
MongoDB上的insert(),insertOne()和insertMany()方法有什么区别
db.collection.insert()如文档中提到的插入文档或文档转换成一个集合,并返回一个写结果为单个插入对象和BulkWriteResult对于批量插入对象.
> var d = db.collection.insert({"b": 3})
> d
WriteResult({ "nInserted" : 1 })
> var d2 = db.collection.insert([{"b": 3}, {'c': 4}])
> d2
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 2,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
Run Code Online (Sandbox Code Playgroud)db.collection.insertOne() 如文档中所述,将文档插入到集合中并返回如下所示的文档:
> var document = db.collection.insertOne({"a": 3})
> document
{
"acknowledged" : true,
"insertedId" : ObjectId("571a218011a82a1d94c02333")
}
Run Code Online (Sandbox Code Playgroud)db.collection.insertMany() 将多个文档插入集合并返回如下所示的文档:
> var res = db.collection.insertMany([{"b": 3}, {'c': 4}])
> res
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("571a22a911a82a1d94c02337"),
ObjectId("571a22a911a82a1d94c02338")
]
}
Run Code Online (Sandbox Code Playgroud)在什么情况下我应该使用每一个?
该insert()方法在主要驱动力过时,所以你应该使用的.insertOne(),每当你想插入一个文件到您的收藏和方法.insertMany时要插入多个文件到您的收藏.当然,文档中没有提到这一点,但事实是没有人真正在shell中编写应用程序.同样的道理也适用于updateOne,updateMany,deleteOne,deleteMany,findOneAndDelete,findOneAndUpdate和findOneAndReplace.请参阅写操作概述.
db.collection.insert():
它允许您在集合中插入一个或多个文档.句法:
db.collection.insert({<document>});多次插入:
db.collection.insert([,, ...]);
返回一个WriteResult对象:WriteResult({ "nInserted" : 1 });
db.collection.insertOne():
它允许您在集合中准确插入1个文档.它的语法与单个插入的语法相同insert().
返回以下文档:
{
"acknowledged" : true,
"insertedId" : ObjectId("56fc40f9d735c28df206d078")
}
Run Code Online (Sandbox Code Playgroud)db.collection.insertMany():
它允许您在集合中插入一组文档.句法:
db.collection.insertMany(
{ [ <document 1> , <document 2>, ... ] });
Run Code Online (Sandbox Code Playgroud)
返回以下文档:
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("562a94d381cb9f1cd6eb0e1a"),
ObjectId("562a94d381cb9f1cd6eb0e1b"),
ObjectId("562a94d381cb9f1cd6eb0e1c")
]
}
Run Code Online (Sandbox Code Playgroud)所有这三个也允许您定义自定义,writeConcern并且如果它不存在也创建一个集合.
| 归档时间: |
|
| 查看次数: |
34461 次 |
| 最近记录: |