Hvad er forskellen mellem metoderne insert(), insertOne() og insertMany() på MongoDB
-
db.collection.insert()
som nævnt i dokumentationen indsætter et eller flere dokumenter i en samling og returnerer et WriteResult-objekt for enkelte indstik og et BulkWriteResult-objekt for bulk-indsættelser.> 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" : [ ] })
-
db.collection.insertOne()
som nævnt i dokumentationen indsætter et dokument i en samling og returnerer et dokument, der ser sådan ud:> var document = db.collection.insertOne({"a": 3}) > document { "acknowledged" : true, "insertedId" : ObjectId("571a218011a82a1d94c02333") }
-
db.collection.insertMany()
indsætter flere dokumenter i en samling og returnerer et dokument, der ser sådan ud:> var res = db.collection.insertMany([{"b": 3}, {'c': 4}]) > res { "acknowledged" : true, "insertedIds" : [ ObjectId("571a22a911a82a1d94c02337"), ObjectId("571a22a911a82a1d94c02338") ] }
I hvilken situation skal jeg bruge hver enkelt?
insert()
metoden er forældet i hoveddriveren, så du skal bruge .insertOne()
metode, når du vil indsætte et enkelt dokument i din samling og .insertMany
når du vil indsætte flere dokumenter i din samling. Dette er selvfølgelig ikke nævnt i dokumentationen, men faktum er, at ingen virkelig skriver en ansøgning i skallen. Det samme gælder for updateOne
, updateMany
, deleteOne
, deleteMany
, findOneAndDelete
, findOneAndUpdate
og findOneAndReplace
. Se Oversigt over skriveoperationer.