Mongo项目测试值是否在数组中

时间:2017-01-24 22:02:46

标签: mongodb aggregation-framework contains projection

在mongo聚合的项目步骤中,我想创建一个布尔字段,如:

{
  $project: {
    isInArray: { $cond: [
      { $in: ['$_id', ids] },
      { $const: true },
      { $const: false },
    ] },
  },
},

失败了
 invalid operator $in

我找不到正确语法的文档

1 个答案:

答案 0 :(得分:2)

您可以使用$setIsSubset运算符

db.people.aggregate([
 { $project: {
    isInArray: { $cond: [ {$setIsSubset: [['$_id'], ids]}, true, false ] }
 }}
])