Every user has a mobile number, and I want to check there are other users in my address book.
So I have 1000 numbers and I want to check if any of the is in the database, so my initial idea is that for each number I run a mongodb query:
for (var i=0; i < numbers.length; i++) {
db.users.findOne({phoneNumber: numbers[i]});
}
however I have been suggested to do so:
db.users.find($or: numbers.map(function(number){return {phoneNumber: number}}));
// That would result into a
// db.users.find($or:[{phoneNumber: "123"}, {phoneNumber: "234"}...])
Now are the two equivalent? Is the second way more expensive?