检查字段退出,使用 go mongodb 比较 int 值

我使用 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密钥,则结果将仅基于其他参数。我们如何检查这个?


慕娘9325324
浏览 130回答 1
1回答

开满天机

所以基本上你想要的是一个$orfor emp_del_status。您想要文档,其中,"emp_dept": "xyz" 和 或者缺失(不存在)。"skills": "asd" emp_del_status0这是您可以描述该过滤器的方式:"$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},    },}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go