首页 > 解决方案 > Mongoose 查询一个数组包含另一个数组中的一个值

问题描述

如何检查数组的元素是否属于 Mongoose 中的另一个数组?例如,我有一个文件:

const userSchema = new mongoose.Schema({
name: String,
favor:Array
})

user1 = {
name:'John',
favor : ['banana', 'apple', 'eggs'].
}

user 2= {
name:'Ethan',
favor : ['apple', 'eggs'].
}

我有一个数组

const array = ['eggs', 'banana']

我想得到user1。我该如何处理猫鼬?

标签: mongodbmongoosemongodb-querymongoose-schema

解决方案


您应该$all在这种情况下使用运算符

db.collection.find({
  favor: {
    $all: [
      "eggs",
      "banana"
    ]
  }
}) 

https://docs.mongodb.com/manual/reference/operator/query/all/


推荐阅读