我想搜索具有相同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
where action_target.reply.id
或action_object.reply.removed
where action_object.reply.id
。
或者我必须像上面那样为此编写两个不同的查询。
2条答案
按热度按时间fhg3lkii1#
update
调用的第一个参数是query对象,因此您可以简单地使用相同的$或query,Mongo将更新查询检索到的所有文档。3vpjnl9f2#
对于4.2,您可以使用
$cond
https://mongoplayground.net/p/tOLh5YKRVX1