【问题标题】:How to user $in query in mongodb?如何在 mongodb 中使用 $in 查询?
【发布时间】:2019-02-21 00:05:53
【问题描述】:
我想在权限 = 用户时获取记录。
以下是我的收藏:
"_id":ObjectId("59177f050c9db20629f4562"),
"profile":
{
"permissionGroups" : [
"Admin",
"Restaurant",
"Salesperson",
"User"
]
}
仅在权限为用户的情况下获取。
提前致谢,
【问题讨论】:
标签:
mongodb
mongoose
mongodb-query
【解决方案1】:
我认为$in 不是您要找的。 $in 根据字段查询数组,假设您搜索 permissionsGroup: {$in: ['User', 'Admin']},这将返回所有可以找到 User 或 Admin 的记录。
在这种情况下,您只需搜索permissionsGroups: 'User'。 Mongo 足够聪明,可以将permissionGroups 识别为一个数组,并针对该数组中的字段测试给定的值。
【解决方案2】:
首先,访问配置文件 obj 中的 permissionGroups 数组,然后像这样运行一个简单匹配字符串的查询。除非数组中有多个要匹配的字符串,否则不需要运行 $in:
db.getCollection('collection name').find({"profile.permissionGroups" : "User"})