这是我的经文模式
{
"verses": [
{
"id": "111",
"happy": [
{
"id": "112",
"versePath": "Proverbs 15:13",
"content": "A glad heart makes a cheerful face, but by sorrow of heart the spirit is crushed"
}
],
sad: [
{
id: 113,
versePath: "text",
content: "text"
}
]
}
]
}
我想查询以id查找每个对象。我尝试使用elemMatch进行此操作,但是没有用。
const verse = await Verses
.find({ _id: id })
.elemMatch("empathy", { _id: req.params.id, });
我也尝试使用聚合,但是它也不起作用。
const verse = await Verses.aggregate([
{ "$unwind": "$verses" },
{ "$match": { "verses._id": req.params.id } }
])
不起作用,我的意思是两次尝试都返回了一个空数组或整个json对象。 我希望我的结果返回每个嵌套对象 ID:112, versePath