模型是
UserSchema = new Schema({
email: String,
erp_user_id:String,
isActive: { type: Boolean, 'default': true },
createdAt: { type: Date, 'default': Date.now }
});
module.exports = mongoose.model('User', UserSchema);
现在我有一个字符串列表,[erp_user_id]的列表,我想搜索列表中包含erp_user_id的所有用户。
类似
var inputArray = ['1234','324324','54345'];
User.find({inputArray.contains(erp_user_id)}).exec(function(err,users){
user;// <---- list of users expected result
})
答案 0 :(得分:2)
使用$in运算符匹配数组中的值。
$in运算符选择字段值等于指定数组中任何值的文档。要指定$in表达式,请使用以下原型:
db.collection.find({field: {$in: array}});
您的代码:
var inputArray = ['1234', '324324', '54345'];
User
.find({
erp_user_id: {
$in: inputArray
}
})
.exec(function(err, users) {
if (err) console.log(err);
console.log(users);
});
答案 1 :(得分:1)
var inputArray = ['1234','324324','54345'];
User.find({erp_user_id:{$in:inputArray}}).exec(function(err,users){
user;// <---- list of users expected result
})