我有这个查询
db.invites.find({$and: [{primaryowner: mynumber}, {invited: mynumber}]})
我用它来获取记录,如果他们满足上述条件。但是,我想获取{eventtype:4}
和字段primaryowner:$exists: true
这就是我所拥有的
{ eventtype: 4 },{ primaryowner: { $exists: true }}
但我知道这不是因为我需要获取eventtype = 4
和字段primaryowner
存在的记录。
我如何表示查询?。
答案 0 :(得分:0)
从您的问题来看,我无法清楚地了解所需的业务场景是什么,但提供的是样本数据 我已经给出了伪代码和该伪代码的相应mongodb实现。
if invited field is "0800123456"
if event type is 3 and event status is 11
select matching documents
or if event type is 4 and event status is 11 and primary owner exists
select matching documents
Mongo数据库查询
db.collection.find({
$or: [
{
$and: [
{
"invited": "0800123456"
},
{
"eventtype": {
$eq: "3"
}
},
{
"eventstatus": {
$eq: 11
}
}
]
},
{
$and: [
{
"eventtype": {
$eq: "4"
}
},
{
"eventstatus": {
$eq: 11
}
},
{
primaryowner: {
$exists: true
}
}
]
}
]
})
如果这与您的方案不匹配,请在此示例代码的帮助下编写您自己的查询。
希望它有帮助!