Mongodb-更新部分文档数
在Mongodb中是否可以限制一次更新的文档数量 我有一个按插入日期(即按_id)排序的项目列表,我只想更新(示例)5最早的一个 我可以取回我想要的通知Mongodb-更新部分文档数,mongodb,Mongodb,在Mongodb中是否可以限制一次更新的文档数量 我有一个按插入日期(即按_id)排序的项目列表,我只想更新(示例)5最早的一个 我可以取回我想要的通知 db.mycoll.find({}).limit(5) 我可以更新一个(并因此循环上一个查询的结果)或全部(或使用组合) 但我无法通过对更新请求有限制的标准。 有什么办法吗?不幸的是,您可以这样看: 不幸的是,你所拥有的变通方法是唯一能让你成功的方法。有一个布尔标志multi,它将更新所有匹配项(如果为true)或更新第一个匹配项(如果为fa
db.mycoll.find({}).limit(5)
我可以更新一个(并因此循环上一个查询的结果)或全部(或使用组合)
但我无法通过对更新请求有限制的标准。
有什么办法吗?不幸的是,您可以这样看: 不幸的是,你所拥有的变通方法是唯一能让你成功的方法。有一个布尔标志multi,它将更新所有匹配项(如果为true)或更新第一个匹配项(如果为false)
你可以这样做 首先获取所有要更新的记录
var mycolls = db.mycoll.find({}).limit(5)
然后,映射这些记录的ID
var mycollIDs = mycolls.map(x=>x._id)
使用updateMany更新所有这些记录
db.mycolls.updateMany({_id:{$in:mycollIDs}},{set:{UPDATE DATA}})
希望这能有所帮助 谢谢你的确认,不幸的是,这也是我的印象。现在还是这样吗?
db.mycolls.updateMany({_id:{$in:mycollIDs}},{set:{UPDATE DATA}})