【发布时间】:2014-02-09 02:51:44
【问题描述】:
每个用户都有一个手机号码,我想查看我的通讯录中还有其他用户。
所以我有 1000 个号码,我想检查是否有任何号码在数据库中,所以我最初的想法是对每个号码运行一个 mongodb 查询:
for (var i=0; i < numbers.length; i++) {
db.users.findOne({phoneNumber: numbers[i]});
}
但是有人建议我这样做:
db.users.find($or: numbers.map(function(number){return {phoneNumber: number}}));
// That would result into a
// db.users.find($or:[{phoneNumber: "123"}, {phoneNumber: "234"}...])
现在这两个是等价的吗?第二种方式更贵吗?
【问题讨论】:
标签: javascript mongodb mongoose