这是我的mongodb中的一个文档:
{
"_id": {
"$oid": "64c7d4d7711f2703209bd076"
},
"identifiers": {
"pCode": "P3842"
},
"contact": [
{
"phone": {
"home": "000000",
"work": "000000 Ext 838",
"mobile": "0000000",
"primary": "000000"
},
"email": {
"home": "[email protected]",
"work": null,
"primary": "[email protected]"
},
},
],
"children": [
{
"student": {
"$oid": "64c7d48e711f2703209bd075"
},
"relationship": "Father",
"billPayer": true,
"courtOrder": false
}
],
"meta": {
"createdDTM": "2018-02-10 07:35:45.000000",
"updatedDTM": "2022-02-10 12:12:36.000000",
"lastModifiedDTM": "2023-07-31 15:50:22"
},
"__v": 0
}
我正在尝试检查
contact
对象的 email
数组中是否有任何键(home
、work
、primary
)的电子邮件 ID 等于 "[email protected]"
我尝试使用
$elemMatch
运行,但结果是 null
。
{
contact: { $elemMatch: { email: "[email protected]" } },
}
不知道自己哪里错了。
更新:使用
$or
尝试了此查询,这给了我结果,但我想知道是否还有其他查询可以更好。
还修复了缩进
{$or: [
{
"contact.email.home": "[email protected]"
},
{
"contact.email.work": "[email protected]"
},
{
"contact.email.primary": "[email protected]"
}
]
}