MongoDb投影取决于另一个(布尔)字段

时间:2016-08-05 15:26:57

标签: mongodb mongodb-query

我有一个集合,其中每个对象都有一个anonymous布尔字段。如果是true,那么我希望过滤掉owner字段(在我的收藏中,它实际上是一组所有者)。

有没有办法直接在投影中包含这种限制?像这样:

MyCollection.find({}, {$if: {owners: anonymous} })

1 个答案:

答案 0 :(得分:1)

您可以使用以下命令:

MyCollection.aggregate([{$project: {owner: {$cond: ["$anonymous", null, "$owner"]}}}]);

它不会过滤掉所有者字段,但会将其设置为null。