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);
});