检查字段退出,使用 go mongodb 比较 int 值
check field exits,compare int value using go mongodb
我使用 golang 作为后端 mongodb.I 想执行下面的代码
"$match" : bson.M{
"emp_dept": "xyz",
"skills": "asd",
"emp_del_status": bson.M{"$exists": true, "$eq": 0}, // emp account is active
}
我的Collection是
Collection 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
键,然后根据其他参数和 emp_del_status
键检查值 0
和 return 结果。但如果文档不包含 emp_del_status
键,则结果将仅基于其他参数。我们如何检查?
所以基本上你想要的是 $or
for emp_del_status
.
您想要 "emp_dept": "xyz"
and "skills": "asd"
, and 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},
},
}
我使用 golang 作为后端 mongodb.I 想执行下面的代码
"$match" : bson.M{
"emp_dept": "xyz",
"skills": "asd",
"emp_del_status": bson.M{"$exists": true, "$eq": 0}, // emp account is active
}
我的Collection是
Collection 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
键,然后根据其他参数和 emp_del_status
键检查值 0
和 return 结果。但如果文档不包含 emp_del_status
键,则结果将仅基于其他参数。我们如何检查?
所以基本上你想要的是 $or
for emp_del_status
.
您想要 "emp_dept": "xyz"
and "skills": "asd"
, and 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},
},
}