Mongo 项目测试值是否在数组中
Mongo project test if value is in array
在 mongo 聚合的项目步骤中,我想创建一个布尔字段,例如:
{
$project: {
isInArray: { $cond: [
{ $in: ['$_id', ids] },
{ $const: true },
{ $const: false },
] },
},
},
但是
失败了
invalid operator $in
我找不到关于正确语法的文档
您可以使用$setIsSubset运算符
db.people.aggregate([
{ $project: {
isInArray: { $cond: [ {$setIsSubset: [['$_id'], ids]}, true, false ] }
}}
])
在 mongo 聚合的项目步骤中,我想创建一个布尔字段,例如:
{
$project: {
isInArray: { $cond: [
{ $in: ['$_id', ids] },
{ $const: true },
{ $const: false },
] },
},
},
但是
失败了 invalid operator $in
我找不到关于正确语法的文档
您可以使用$setIsSubset运算符
db.people.aggregate([
{ $project: {
isInArray: { $cond: [ {$setIsSubset: [['$_id'], ids]}, true, false ] }
}}
])