MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Каква е разликата между методите insert(), insertOne() и insertMany()?

Каква е разликата между методите insert(), insertOne() и insertMany() в MongoDB

  • db.collection.insert() както е споменато в документацията, вмъква документ или документи в колекция и връща обект WriteResult за единични вмъквания и обект BulkWriteResult за групови вмъквания.

    > 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() както е споменато в документацията, вмъква документ в колекция и връща документ, който изглежда така:

    > var document = db.collection.insertOne({"a": 3})
    > document
    {
            "acknowledged" : true,
            "insertedId" : ObjectId("571a218011a82a1d94c02333")
    }
    
  • db.collection.insertMany() вмъква множество документи в колекция и връща документ, който изглежда така:

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

В каква ситуация трябва да използвам всеки един от тях?

insert() методът е отхвърлен в основния драйвер, така че трябва да използвате .insertOne() метод винаги, когато искате да вмъкнете един документ във вашата колекция и .insertMany когато искате да вмъкнете няколко документа във вашата колекция. Разбира се, това не е споменато в документацията, но факт е, че никой не пише приложение в shell. Същото важи и за updateOne , updateMany , deleteOne , deleteMany , findOneAndDelete , findOneAndUpdate и findOneAndReplace . Вижте Общ преглед на операциите за запис.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Сортиране по виртуално поле в mongoDB (mongoose)

  2. $project:Възможно ли е достъп до свойство на резултат от израз само на един етап?

  3. [Инфографика] Сравняване на Cassandra с MongoDB

  4. show dbs дава грешка "Не е упълномощен за изпълнение на командата".

  5. Как да вмъкна документ с дата в mongo?