MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jaka jest różnica między metodami insert(), insertOne() i insertMany()?

Jaka jest różnica między metodami insert(), insertOne() i insertMany() w MongoDB

  • db.collection.insert() jak wspomniano w dokumentacji, wstawia dokument lub dokumenty do kolekcji i zwraca obiekt WriteResult dla pojedynczych wstawek i obiekt BulkWriteResult dla wstawek zbiorczych.

    > 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() jak wspomniano w dokumentacji, wstawia dokument do kolekcji i zwraca dokument, który wygląda tak:

    > var document = db.collection.insertOne({"a": 3})
    > document
    {
            "acknowledged" : true,
            "insertedId" : ObjectId("571a218011a82a1d94c02333")
    }
    
  • db.collection.insertMany() wstawia wiele dokumentów do kolekcji i zwraca dokument, który wygląda tak:

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

W jakiej sytuacji powinienem użyć każdego z nich?

insert() Metoda jest przestarzała w głównym sterowniku, więc powinieneś użyć .insertOne() metodę, gdy chcesz wstawić pojedynczy dokument do swojej kolekcji i .insertMany gdy chcesz wstawić do swojej kolekcji wiele dokumentów. Oczywiście nie jest to wspomniane w dokumentacji, ale faktem jest, że nikt tak naprawdę nie pisze aplikacji w powłoce. To samo dotyczy updateOne , updateMany , deleteOne , deleteMany , findOneAndDelete , findOneAndUpdate i findOneAndReplace . Zobacz Omówienie operacji zapisu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jaka jest różnica między findAndModify a aktualizacją w MongoDB?

  2. MongoDB dodaje się do pola kolekcji łączącej z bazy jeden

  3. Wewnętrzna tablica sortowania Mongodb

  4. Utwórz obiekt daty ISO w javascript

  5. Sklonuj kolekcję w MongoDB