我有一个集合,其中每个对象都有一个anonymous
布尔字段。如果是true
,那么我希望过滤掉owner
字段(在我的收藏中,它实际上是一组所有者)。
有没有办法直接在投影中包含这种限制?像这样:
MyCollection.find({}, {$if: {owners: anonymous} })
答案 0 :(得分:1)
您可以使用以下命令:
MyCollection.aggregate([{$project: {owner: {$cond: ["$anonymous", null, "$owner"]}}}]);
它不会过滤掉所有者字段,但会将其设置为null。