在mongodb中通过数组查找一个字段的文档
finding documents in mongodb by array for one field?
我试图运行一个查询来查找包含电话号码数组的所有文档:
例如:var mobileArray = ["07958485374","07958485375", "07958485378"];
一个示例文档将是:
{
phone_number: 07958483297,
brand: "Mercedes",
model: "S 350 L",
year: 2007,
price: 9500,
description: "Full options - Automatic transmission - Gulf import - Excellent condition - V6 - Beig leather seats - Screen - Sunroof - CD - DVD - Telephone - Navigation - Xenon - Finger print - Bluetooth - Memory - Cruise control - Sensor - Wood - Clause examination - ",
images_length: 4,
_id: ObjectId("53a844d26d437e394844f0a3"),
date: ISODate("2014-06-23T15:16:34.233Z"),
__v: 0
}
所以我试图运行一个查询来查找包含数组中任何这些元素的所有文档,我知道我可能可以运行一个for循环,但我宁愿尝试在一个查询中完成它。
我使用mongoose节点模块来查询我的结果。
例如: Car.find().where({"phone_number": "0795483297"}).limit(10).exec(function(err, docs) {
res.send(docs);
});
您应该使用"$in"操作符:
在<<p> 美元/strong>http://docs.mongodb.org/manual/reference/operator/query/in/$in操作符选择字段值所在的文档等于指定数组中的任意值。
使用你的例子,这应该为你工作:
Car.find({"phone_number":
{ $in: ['0795483297', '07958485375', '07958485378']}
}).limit(10).exec(function(err, docs) {
res.send(docs);
});
相关文章:
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- Angular ng repeat order将多个字段作为一个字段
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- 可以't无法将一个字段复制到另一个字段
- 如何隐藏&使用jQuery禁用依赖于另一个字段值的字段
- 我有一个字段计算,如果结果低于 60,则需要显示最小值
- 根据Rails4中的一个字段自动填充表单
- 在 Jquery ajax 中,在一个字段中输入时获取详细信息
- 在输入字段中选择一个值,然后用相应的数据填充另一个字段
- 如何获取id并在ror中基于该id显示下一个字段
- 使用Join,要求两个字段中的一个字段为非空
- jQuery自定义验证只显示最后一个字段的错误
- 我如何使用jQuery来点击和选择并让它填充一个字段
- 如何让Typeahead.js使用对象的一个字段而不是全部字段自动完成或选择
- 在document-mongoDB中设置一个字段
- 如何计算mongodb中两个集合中一个字段的不同值的数量
- AngularJS:在控制器中过滤除一个字段外的所有字段
- 更新其中一个字段时刷新其他输入字段.使用Angularjs(附Plunker)