sql >> Databasteknik >  >> NoSQL >> MongoDB

Vad är skillnaden mellan metoden insert(), insertOne() och insertMany()?

Vad är skillnaden mellan metoderna insert(), insertOne() och insertMany() på MongoDB

  • db.collection.insert() som nämnts i dokumentationen infogar ett eller flera dokument i en samling och returnerar ett WriteResult-objekt för enstaka bilagor och ett BulkWriteResult-objekt för bulkinfogningar.

    > 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ämnts i dokumentationen infogar ett dokument i en samling och returnerar ett dokument som ser ut så här:

    > var document = db.collection.insertOne({"a": 3})
    > document
    {
            "acknowledged" : true,
            "insertedId" : ObjectId("571a218011a82a1d94c02333")
    }
    
  • db.collection.insertMany() infogar flera dokument i en samling och returnerar ett dokument som ser ut så här:

    > var res = db.collection.insertMany([{"b": 3}, {'c': 4}])
    > res
    {
            "acknowledged" : true,
            "insertedIds" : [
                    ObjectId("571a22a911a82a1d94c02337"),
                    ObjectId("571a22a911a82a1d94c02338")
            ]
    }
    

I vilken situation ska jag använda var och en?

insert() Metoden är utfasad i huvuddrivrutinen så du bör använda .insertOne() metod när du vill infoga ett enda dokument i din samling och .insertMany när du vill infoga flera dokument i din samling. Naturligtvis nämns detta inte i dokumentationen men faktum är att ingen egentligen skriver en ansökan i skalet. Samma sak gäller för updateOne , updateMany , deleteOne , deleteMany , findOneAndDelete , findOneAndUpdate och findOneAndReplace . Se Översikt över skrivfunktioner.



  1. Mongoose:vad är skillnaderna mellan Model.create och Collection.insert

  2. Meteormetod kontra neka/tillåt regler

  3. MongoDB $asin

  4. Vackert tryck i MongoDB-skal som standard