sql >> Database >  >> NoSQL >> MongoDB

Wat is het verschil tussen de methode insert(), insertOne() en insertMany()?

Wat is het verschil tussen de methoden insert(), insertOne() en insertMany() op MongoDB

  • db.collection.insert() zoals vermeld in de documentatie voegt een document of documenten in een verzameling in en retourneert een WriteResult-object voor enkele inserts en een BulkWriteResult-object voor bulkinserts.

    > 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() zoals vermeld in de documentatie voegt een document toe aan een verzameling en retourneert een document dat er als volgt uitziet:

    > var document = db.collection.insertOne({"a": 3})
    > document
    {
            "acknowledged" : true,
            "insertedId" : ObjectId("571a218011a82a1d94c02333")
    }
    
  • db.collection.insertMany() voegt meerdere documenten in een verzameling in en retourneert een document dat er als volgt uitziet:

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

In welke situatie moet ik ze allemaal gebruiken?

De insert() methode is verouderd in het hoofdstuurprogramma, dus u moet de .insertOne() . gebruiken methode wanneer u een enkel document in uw verzameling wilt invoegen en de .insertMany wanneer u meerdere documenten aan uw collectie wilt toevoegen. Natuurlijk wordt dit niet vermeld in de documentatie, maar feit is dat niemand echt een applicatie in de shell schrijft. Hetzelfde geldt voor updateOne , updateMany , deleteOne , deleteMany , findOneAndDelete , findOneAndUpdate en findOneAndReplace . Zie Overzicht schrijfbewerkingen.



  1. Redis / Haal alle sleutels en waarden op uit redis met prefix

  2. Redis Cluster vs ZeroMQ in Pub/Sub, voor horizontaal geschaalde gedistribueerde systemen

  3. De strijd om de NoSQL-databases - MongoDB en Firebase vergelijken

  4. hoe de caching vrij te geven die wordt gebruikt door Mongodb?