Collection.find({key:any_value in a array})将多个值与mongoose匹配

时间:2017-12-07 17:30:03

标签: node.js mongodb mongoose

嗨,我有一个“推文”架构,它有一个“作者”的关键字,我想找到所有推文,其作者在一群人中是有价值的。例如,

如果我可以这样做:

让人们= ['josh','bob','tim'];

Tweet.find({ author: [people] }).then((tweets) => {
      // tweets = all tweets that have any of the following authors: josh, bob, or time
})

基本上,是否有特定的猫鼬方法:

people.forEach((person)=> {
   Tweet.find({ author: person})
})

另请注意,“people”数组会更改每个登录/会话用户的用户。

2 个答案:

答案 0 :(得分:1)

Tweet.find({ author: {$in:  people }},(err,tweets)=>{
      //code
})

答案 1 :(得分:0)

这是如此简单的尝试

 Tweet.find({ 
// sorry it should be in
    author: {$in:  [people] }
 })
 .then((tweets) => {
})