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

Luwak pilih bidang untuk kembali dari findOneAndUpdate

Dari manual, options argumen membutuhkan "fields" masukkan di dalamnya karena ada detail lain seperti "upsert" dan "new" di mana ini berlaku. Dalam kasus Anda, Anda juga ingin "new" pilihan:

User.findOneAndUpdate(
  { "_id": "132324" },
  { "$set": { "hair_color": "yellow" } },
  {
   "fields": { "first_name":1, "last_name": 1 },
   "new": true 
  }
).exec(...)

Sebagai alternatif, Anda dapat menggunakan .select()

User.select({ "first_name": 1, "last_name": 1 }).findOneAndUpdate(
  { "_id": "132324" },
  { "$set": { "hair_color": "yellow" } },
  { "new": true }
).exec(...)

Perhatikan bahwa tanpa "new": true dokumen yang dikembalikan dalam keadaan sebelum modifikasi pembaruan diproses. Terkadang ini yang Anda maksud, tetapi sebagian besar waktu Anda benar-benar menginginkan dokumen yang dimodifikasi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. node.js tidak dapat menemukan modul 'mongodb'

  2. Tulis Penasihat Pertama Anda

  3. Tidak dapat membuat indeks di mongodb, kunci terlalu besar untuk diindeks

  4. Mongo Change Streams berjalan beberapa kali (semacam):Aplikasi Node menjalankan beberapa instance

  5. MongoDB - bagaimana cara menanyakan item bersarang di dalam koleksi?