Node.js 如何使用mongoose通过数组属性查找

Node.js 如何使用mongoose通过数组属性查找,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我正试图通过标签过滤这个列表,我希望得到数组 Products:[ { name: "PSP" tags: ["psp","sony","videogames"] price: 50 }, { name: "XBOX ONE" tags: ["xbox","one","videogames"] price: 50 }, { name: "Nintendo Wii" tags: ["wii","nintendo",

我正试图通过标签过滤这个列表,我希望得到数组

Products:[
  {
    name: "PSP"
    tags: ["psp","sony","videogames"]
    price: 50
  },
  {
    name: "XBOX ONE"
    tags: ["xbox","one","videogames"]
    price: 50
  },
  {
    name: "Nintendo Wii"
    tags: ["wii","nintendo","videogames"]
    price: 50
  }
]
我想要的是这个

mongoose.model('products').find({'Products.tags':'PSP'});

它不起作用

MongoDB对字符串进行区分大小写的比较。您试图查找大写的字符串
PSP
,但文档中包含小写字符串
PSP

您可以这样尝试:

 {
    name: "PSP"
    tags: ["psp","sony","videogames"]
    price: 50
  }

你到底想得到什么?你得到了什么?特别是你尝试的东西有什么不起作用?返回值为空,我尝试得到数组,就像例子中的,如果我找到“PSP”,我希望数组的所有数据都包含它
mongoose.model('products').findOne({'Products.tags':'psp'}).exec(
    function(err, docs) {
        if (err) return console.error(err);
        console.log(docs.tags);
});