我想获取emailaddress或phoneNumber匹配记录。我使用以下查询来获取结果。
user.find({ $or:[{emailAddress: "testemail@gmail.com" , phoneNumber: "123456789"}]})
但是当我使用查询结果显示0条记录时。
我想要的是:
{
"phoneNumber" : "123456789",
"emailAddress" : "testemail@gmail.com"
},
{
"phoneNumber" : "8008465488",
"emailAddress" : "testemail@gmail.com"
}
我怎样才能实现它?
答案 0 :(得分:1)
您的查询稍作修改就可以了解
user.find({ $or:[{emailAddress: "testemail@gmail.com"} , {phoneNumber: "123456789"}]})
$or的语法 - { $or: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }
答案 1 :(得分:0)
你的筑巢已经关闭;如果我们添加一些缩进,我们可以看到$或正在给出一个包含一个项目的列表,该项目有两个属性:
$or: [
{
emailAddress: "testemail@gmail.com" ,
phoneNumber: "123456789"
}
]
你想要的是两种可能性的列表,每种可能性都有一个属性:
$or: [
{
emailAddress: "testemail@gmail.com"
},
{
phoneNumber: "123456789"
}
]