我有一份名为“申请人”的MongoDB藏书,其中载有关于申请人的信息,包括申请人的姓、类型和形形形色的电话号码,如“家庭”、“个人”和“办公室”。
Here s a sample JSON representation of an "Applicant" document:
{
"_id": ObjectId("61791ecf2abf206fd5e5e322"),
"LastName": "Smith",
"Type": "P",
"PhoneNumbers": [
{ "Type": "home", "Value": "111-111-1111" },
{ "Type": "cell", "Value": "222-222-2222" },
{ "Type": "office", "Value": "333-333-3333" }
]
}
现在,我需要做一个问询,找到有具体电话号码的申请人,例如“家”和“大”电话号码。 我正在使用MongoDB C#司机,希望使用<代码>FilterDefinition。
我曾尝试过使用<代码>ElemMatch的多种条件方法,但似乎没有按预期工作。 我目前试图:
var filterBuilder = Builders<Applicant>.Filter;
var homePhoneFilter = filterBuilder.Eq("PhoneNumbers.Type", "home") & filterBuilder.Eq("PhoneNumbers.Value", "111-111-1111");
var cellPhoneFilter = filterBuilder.Eq("PhoneNumbers.Type", "cell") & filterBuilder.Eq("PhoneNumbers.Value", "222-222-2222");
var queryFilter = homePhoneFilter & cellPhoneFilter;
不幸的是,这只字不提任何结果,我怀疑,如果使用<条码>和<>条码>,将
Rendered Query:
以下是预期的提问:
{
"PhoneNumbers": {
"$elemMatch": { "$and": [ { "Type": "home" }, { "Value": "111-111-1111" } ], "$and": [ { "Type": "cell" }, { "Value": "222-222-2222" } ] }
}
}
Any guidance on how to correctly implement multiple AND conditions using FilterDefinition
in C# for my MongoDB query would be highly appreciated.
事先感谢你的帮助!