如果字段值等于数组中的至少一个值,是否有一种有效的方法来查询文档?
例如,当我有以下文件时:
{email:"mail1@domain.com"},
{email:"mail2@domain.com"},
.
.
.
{email:"mail1000@domain.com"}
Run Code Online (Sandbox Code Playgroud)
并且已将电子邮件字段编入索引,我想获取所有文档的ID,其电子邮件字段的值等于"mail7@domain.com","mail117 @domain.com"或其他100个完全不相关的电子邮件地址.可能吗?
我觉得这很简单
db.users.find({email:["mail7@domain.com","mail117@domain.com", ... 99 entries ..., "mail 987@domain.com"]})
Run Code Online (Sandbox Code Playgroud)
但是我错了.
什么是最有效的方法呢?
Ana*_*lan 11
您可以使用$in
运算符匹配数组中的任何值:
db.users.find(
{email : {$in : ["mail7@domain.com", "mail117@domain.com", "mail 987@domain.com"]}}
)
Run Code Online (Sandbox Code Playgroud)