【发布时间】:2015-04-04 22:19:40
【问题描述】:
我只是试图做一个类似于.findOne 的基本查找,但是在 Mongoose 的一个子文档数组上。我应该简单地遍历数组以寻找正确的子文档吗?
我有这样的架构:
var RegionSchema = new Schema({
"metadata": {
"regionType": String,
"name": String,
"children": [{
"name": String,
"childType": String
}],
"parent": Schema.ObjectId
},
"data": [DataContainer]
});
我知道我想在data 中找到一个DataContainer,其中dataYear 等于"2014"。我是 MongoDB 新手,所以我不知道很多高级命令。什么是最有效的方法?
编辑:dataYear 保证在该数组中是唯一的。
【问题讨论】:
-
您能否同时显示
DataContainer架构以及包含数据的示例文档? -
这很简单。对于这个问题,
DataContainer包含population(数字)和dataYear(字符串)。dataYear对数组中的每个子文档都是唯一的。所以这不是一个大查询。 -
@Antrikshy 你检查过建议的答案了吗?
-
我最终做了其他事情。因为我处理的是较小的数组,所以我创建了一个函数,它只通过并返回我试图找到的子文档的索引。