Rumah > Soal Jawab > teks badan
现在有一个需求是使用 MongoDB 查找文档的同时将文档中的字段给更新掉,也就是用一个命令完成查找以及更新(原子性)。
Mongo 中对于单个文档是有类似的方法的,比如 FindAndModify 查找并更新的操作,并且是原子性的,但是只作用于单个文档。
问下有没有可以实现查找多个文档并且相应的更新文档的字段的操作。
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...
漂亮男人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!