【发布时间】:2015-09-20 18:19:30
【问题描述】:
我正在为我的收藏使用模型树结构。作为参考,我正在使用父字段。我需要从当前对象及其所有父对象中获取属性。路径中的最后一个元素具有字段“目标”。所以我从
var result = parent = Articles.findOne({target: this.params._id});
do {
parent = Articles.findOne({_id: parent.parent}).parent;
for (var attrname in parent) { result[attrname] = parent[attrname]; }
}
while (parent.parent === null);
这对我来说似乎效率很低。难道不能用一行来获得一个包含所有元素的对象吗?然后我可以处理那个对象。
示例文档
{
"_id" : "LD6h5ZcDuJjexfKfx",
"title" : "title",
"publisher" : "public",
"author" : "author"
}
{
"_id" : "KSiyh8zHRq8RZQ2E6",
"edition" : "edition",
"year" : "2020",
"parent" : "LD6h5ZcDuJjexfKfx"
}
{
"_id" : "5yCk4y25wrLBLZhyY",
"pageNumbers" : "1-10",
"target" : "9sjhzPhyTuQ5Kbh6v",
"parent" : "KSiyh8zHRq8RZQ2E6"
}
所以从"target" : "9sjhzPhyTuQ5Kbh6v" 开始我想得到两个父文档(在这个例子中)。
至少我需要数据集
"title" : "title",
"publisher" : "public",
"author" : "author",
"edition" : "edition",
"year" : "2020",
"pageNumbers" : "1-10"
【问题讨论】:
-
您的完整文档是什么样的?
-
用一个例子更新了帖子。
标签: javascript mongodb meteor mongodb-query