我只是试图做一个类似于.findOne
的基本查找,但在Mongoose的子文档数组中。我应该简单地遍历数组寻找合适的子文档吗?如何在给定父文档和子文档中的值的情况下找到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'模式以及包含数据的示例文档吗? – chridam 2015-04-03 16:59:51
这很简单。对于这个问题,DataContainer包含'population'(Number)和'dataYear'(String)。 'dataYear'对于数组中的每个子文档都是唯一的。所以这不是一个大问题。 – Antrikshy 2015-04-03 17:02:38
@Antrikshy你检查了建议的答案吗? – 2015-04-08 19:07:37