我正在使用golang作为mongodb的后端。我想执行以下代码
"$match" : bson.M{
"emp_dept": "xyz",
"skills": "asd",
"emp_del_status": bson.M{"$exists": true, "$eq": 0}, // emp account is active
}
我的收藏是集合
Employee
{
"emp_dept": "xyz",
"skills": "fgg",
}
{
"emp_dept": "xyz",
"skills": "cvv",
}
{
"emp_dept": "xyz",
"skills": "asd",
"emp_del_status":0,
}
在我的数据库中,某些文档不包含emp_del_status
键。因此,我想检查是否有文档包含emp_del_status
键,然后检查0
值并基于其他参数和emp_del_status
键返回结果。但是,如果文档不包含emp_del_status
键,则结果将仅基于其他参数。我们如何检查呢?
最佳答案
因此,基本上您想要的是$or
的emp_del_status
。
您想要的文档中缺少"emp_dept": "xyz"
和 "skills": "asd"
,和 emp_del_status
或0
或丢失(不存在)。
这是描述该过滤器的方式:
"$match": bson.M{
"emp_dept": "xyz",
"skills": "asd",
"$or": []interface{}{
bson.M{"emp_del_status": bson.M{"$exists": false}},
bson.M{"emp_del_status": 0},
},
}
关于mongodb - 检查字段退出,使用go mongodb比较int值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63188730/