假设我有以下文件:
{
MyField1: 'A',
MyArray: [
{
MyArrayField1: 'C';
},
{
MyArrayField1: 'A';
}
]
}
如何选择
MyArray
中的所有文档一个带有 MyArrayField1 = MyField1
的对象?我试过
db.find({$expr: {$eq: ["$MyArray.MyArrayField1", "$MyField1"]}})
甚至
db.find({$expr: {$eq: ["$MyArray.MyArrayField1", "A"]}})
但它不起作用:(
最佳答案
您可以使用 $in运算符(operator)
db.col.find({
$expr: {
$in: [ "$MyField1", "$MyArray.MyArrayField1" ]
}
})
在这种情况下
MyArray.MyArrayField1
将表示一个包含两个值的数组 A
和 C
关于mongodb - 在 MongoDB 中如何将 "$expr"与数组一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55434419/