如果字段值等于数组中的至少一个值,是否有一种查询文档的有效方法?
例如,当我有以下文件时:
{email:"mail1@domain.com"},
{email:"mail2@domain.com"},
.
.
.
{email:"mail1000@domain.com"}
并已将电子邮件字段编入索引,我想获取所有文档的ID,其电子邮件字段的值等于" mail7@domain.com",&#34 ; mail117@domain.com"或100个其他完全不相关的电子邮件地址。有可能吗?
我认为它会像
一样简单db.users.find({email:["mail7@domain.com","mail117@domain.com", ... 99 entries ..., "mail 987@domain.com"]})
但我错了。
最有效的方法是什么?
答案 0 :(得分:9)
您可以使用$in
运算符匹配数组中的任何值:
db.users.find(
{email : {$in : ["mail7@domain.com", "mail117@domain.com", "mail 987@domain.com"]}}
)