MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Tidak dapat memperbarui data di mongodb

update pernyataan salah, argumennya salah tempat - Anda memasukkan beberapa $set operasi dan opsi sebagai parameter berbeda untuk metode pembaruan; mereka harus berada di bawah parameter pembaruan yang ditunjuk secara terpisah. Node.js sintaks yang benar adalah:

update(selector, document, options, callback)

di mana selector adalah objek yang merupakan pemilih/kueri untuk operasi pembaruan, document juga merupakan objek yang merupakan dokumen pembaruan dan akhirnya sebuah options objek yang secara default adalah null dan memiliki pengaturan pembaruan opsional.

Ini dia

update(selector, document, selector, document, options, options, callback)

Di mana mongo memperbarui koleksi menggunakan dua parameter pertama sebagai benar dan secara alami melempar kesalahan

karena Anda memiliki terlalu banyak parameter yang salah ditentukan.

Juga, Anda memiliki penggunaan operator posisi yang salah. Itu harus menjadi bagian dari dokumen yang akan diperbarui, bukan dalam kueri.

Untuk implementasi yang benar, ikuti pembaruan ini

db.getCollection('profiles').update(
    /* selector  */
    {
        "_id": ObjectId("57a9aa24e93864e02d91283c"),
        "ratings.round": 1
    }, 
    /* update document */
    {
        "$set": {
            "presentRound": 2,
            "interviewStatus": "in process",
            "scheduleInterviewStatus": false,
            "ratings.$.roundStatus": "selected"    
        }
    },
    /* optional settings */
    { upsert: true, multi: true }
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana saya bisa mengganti nama bidang untuk semua dokumen di MongoDB?

  2. Evaluasi Kueri MongoDB dengan NodeJS

  3. Apakah ada yang Setara dengan SEKARANG () di MongoDB

  4. Agregasi MongoDb kesalahan $match :Argumen harus berupa operator pipa agregat

  5. Sisipan batch MongoDB tidak berfungsi dengan driver java