我正在执行一个MongoDB查询来更新一个文档,如下所示-
await this.activity.findOneAndUpdate(
{ _id: activityId },
{
$set: { isFlagged: //boolean_value },
},
);
在此查询的update
部分中,是否有方法从上一步中获取匹配的文档?
基本上,做这样的事情-
const data = await this.activity.findOne({_id: activityId})
await this.activity.findOneAndUpdate(
{ _id: activityId },
{
$set: { isFlagged: !data.isFlagged }, //toggle between the previous boolean value
},
);
是否有一种方法可以在单个查询中实现这一点?
1条答案
按热度按时间2ekbmq321#
在具有聚合管道的更新中使用
$not
。Mongo Playground