我想搜索具有相同action_object.reply.id
或action_target.reply.id
的所有活动。像这样:
Activity
.find({ $or: [
{ 'action_object.reply.id': replyId },
{ 'action_target.reply.id': replyId }
]});
但我也只想像这样更新
removed
属性:Activity
.update({ 'action_object.reply.id': replyId }, {
'action_object.reply.removed': true }, { multi: true });
Activity
.update({ 'action_target.reply.id': replyId }, {
'action_target.reply.removed': true }, { multi: true });
是否可以将这两个查询组合在一起?我想更新
action_target.reply.removed
其中action_target.reply.id
或action_object.reply.removed
其中action_object.reply.id
。或者我必须像上面一样为它编写两个不同的查询。
最佳答案
update
调用的第一个参数是查询对象,因此您可以简单地使用相同的$ or查询。 Mongo将更新查询检索的所有文档。
Activity
.update({ $or: [
{ 'action_object.reply.id': replyId },
{ 'action_target.reply.id': replyId }
]}, {'action_object.reply.removed': true }, { multi: true });
关于node.js - Mongoose 用$或条件更新文档,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33380332/