我正在尝试一次更新集合中的多个文档(即数据迁移)。
由于多种原因,包括验证和回调,我更喜欢使用Mongoid红宝石驱动程序,而不是直接访问数据库。
我试图了解是否有一种方法可以批处理通过mongoid执行的写操作;
基本上,我想做的是像这样的示例Person.save([person1, person2, person3])
类似的Person.create([{ first_name: "Heinrich", last_name: "Heine" }, { first_name: "Willy", last_name: "Brandt" }])
the mongoid docs中显示。
或者,我想知道是否可以控制Mongoid驱动程序何时刷新数据库更新?即类似
person1.save
person2.save
person3.save
# nothing written to DB yet
session.flush # now actually writing to DB
我知道RDBMS存在此概念,但是找不到mongodb等效项。
Previous answers建议使用update_all
或session.command
,据我所知,它们直接与数据库进行交互,从而消除了验证,回调等。