Eri*_*rik 5 mongoose mongodb node.js express
在 MongoDB 的新版本中,我们可以使用 $elemMatch 投影运算符将查询的响应限制为数组的单个匹配元素。http://docs.mongodb.org/manual/reference/projection/elemMatch/
但它似乎在 mongoose 3 中还不起作用,这里是示例:
{
_id: ObjectId(5),
items: [1,2,3,45,4,67,9,4]
}
Folder.findOne({_id: Object(5)}, {$elemMatch: {$in: [1,67,9]}})
.exec(function (err, doc) {
});
Run Code Online (Sandbox Code Playgroud)
我预计会得到以下文档:
{
_id: ObjectId(5),
items: [1,67,9]
}
Run Code Online (Sandbox Code Playgroud)
但不幸的是我得到的是包含所有项目的文档:
{
_id: ObjectId(5),
items: [1,2,3,45,4,67,9,4]
}
Run Code Online (Sandbox Code Playgroud)
这里的 mongodb 文档具有误导性,我们将对其进行更新。
它的意思是,您现在可以在投影中使用 $elemMatch,即您的字段选择:
https://gist.github.com/3640687
另请参阅: https: //github.com/learnboost/mongoose/issues/1085
[编辑]发送文档的拉取请求:https://github.com/mongodb/docs/pull/185
| 归档时间: |
|
| 查看次数: |
3962 次 |
| 最近记录: |