我假设我有一个包含2条记录的模型MyModel
:
{
_id: .,
rating: [
{
"name": "user1",
"rate": 3
}
]
},
{
_id: .,
rating: [
{
"name": "user2",
"rate": 5
}
]
}
当我使用MyModel.find({rating: {$elemMatch: {"name": "user1"}}})
时,它不会返回任何记录。
我希望通话能够返回第一条记录。
答案 0 :(得分:1)
它是MyModel.find({"rating.name": "user1"})
由于$ elemMatch仅指定单个条件,因此$ elemMatch 表达式不是必需的,而是可以使用以下内容 查询:
db.survey.find(
{ "results.product": "xyz" }
)
此外,$elemMatch
也是
MyModel.find({"rating": {$elemMatch: {"name": "user1"}}})