如何使用猫鼬的对象数组中的值搜索记录?
How to search for records by using a value in object array from mongoose?
我想用下面提到的字段和我用过的代码搜索记录,什么都不返回。我确定我查询错误了,谁能帮我构建正确的查询代码?
我用过的代码:
const { id } = req.params;
const requests = await Request.find({
itemsList: { item: id },
});
Return:
console.log(requests);
requests: []
const requests = await Request.find({
"itemsList.item": id,
});
将return整个数组匹配。
并确保查询部分的数据与类型匹配。
在图像中,您有一个字符串。如果是ObjectId就用ObjectId。
请试试这个
const requests = await Request.find({
itemsList: { $elemMatch: { item: mongoose.Types.ObjectId(id) }}},
});
我想用下面提到的字段和我用过的代码搜索记录,什么都不返回。我确定我查询错误了,谁能帮我构建正确的查询代码?
我用过的代码:
const { id } = req.params;
const requests = await Request.find({
itemsList: { item: id },
});
Return:
console.log(requests);
requests: []
const requests = await Request.find({
"itemsList.item": id,
});
将return整个数组匹配。
并确保查询部分的数据与类型匹配。
在图像中,您有一个字符串。如果是ObjectId就用ObjectId。
请试试这个
const requests = await Request.find({
itemsList: { $elemMatch: { item: mongoose.Types.ObjectId(id) }}},
});