sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvad er forskellen mellem metoden insert(), insertOne() og insertMany()?

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.



  1. Redis - Fejl:Værdien er ikke en gyldig float

  2. Indlejret array $pull-forespørgsel ved hjælp af C# MongoDB-driver

  3. MongoDB/Mongoose forespørger på en bestemt dato?

  4. Formater et tal som en procentdel i SQL