cari

Rumah  >  Soal Jawab  >  teks badan

问下 MongoDB 中有没有批量查找文档的同时然后更新文档指定字段值的功能?

现在有一个需求是使用 MongoDB 查找文档的同时将文档中的字段给更新掉,也就是用一个命令完成查找以及更新(原子性)。
Mongo 中对于单个文档是有类似的方法的,比如 FindAndModify 查找并更新的操作,并且是原子性的,但是只作用于单个文档。
问下有没有可以实现查找多个文档并且相应的更新文档的字段的操作。

为情所困为情所困2754 hari yang lalu642

membalas semua(2)saya akan balas

  • phpcn_u1582

    phpcn_u15822017-05-02 09:27:48

    Kemas kini Mongoose boleh dikendalikan dalam kelompok Atribut berbilang kemas kini ditetapkan kepada benar, http://www.nonb.cn/blog/nodej...

    balas
    0
  • 漂亮男人

    漂亮男人2017-05-02 09:27:48

    1. Atomicity dalam MongoDB:

    1. Ia adalah atom untuk satu dokumen FindAnyModify hanya mengendalikan satu dokumen, jadi ia adalah atomik;

    2. Untuk operasi pada berbilang dokumen, setiap operasi pada satu dokumen adalah atom, tetapi keseluruhan operasi bukan atom Semasa operasi, mungkin terdapat operasi daripada dokumen lain.

    Tetapi dalam kebanyakan senario, keatoman satu dokumen sudah memenuhi keperluan

    Jika anda perlu mencapai atomicity untuk pengendalian berbilang dokumen, anda perlu melaksanakannya dengan kod/reka bentuk anda sendiri.

    2. Untuk keperluan nyata anda, anda sebenarnya boleh menggunakan pelbagai pilihan kemas kini, atau terus menggunakan updateMany.

    db.collection.updateMany()
    
    db.collection.update(,{multi : true})
    

    Untuk rujukan.

    Sayangi MongoDB!

    balas
    0
  • Batalbalas