我有这样的文件:
{
MyField1: 'A',
MyArray: [
{
MyArrayField1: 'C';
},
{
MyArrayField1: 'A';
}
]
}
如何选择MyArray
中包含MyArrayField1 = MyField1
的对象的所有文档?
我尝试过
db.find({$ expr:{$ eq:[“ $ MyArray.MyArrayField1”, “ $ MyField1”]}})
偶
db.find({$ expr:{$ eq:[“ $ MyArray.MyArrayField1”, “ A”]}})
但它不起作用:(
答案 0 :(得分:1)
您可以使用$in运算符
db.col.find({
$expr: {
$in: [ "$MyField1", "$MyArray.MyArrayField1" ]
}
})
在这种情况下,MyArray.MyArrayField1
将代表两个值A
和C
的数组