【发布时间】:2015-10-31 18:11:22
【问题描述】:
我尝试做一些我已经做过几次的事情,从来没有遇到过这样的错误。
我只想在我的流星应用程序中找到其 X 字段等于 Y 的所有文档:
JS:(模板助手)
'friendPictures' : function(){
var currentFriendId = this._id;
Pictures.find({ownerId: currentFriendId});
// DO SOMETHING WITH THE PICTURES
}
HTML:(在模板内)
{{#each friend}}
...
{{friendPictures}} // Calling for the helper
...
{{/each}}
我在尝试执行“find()”时不断收到此错误,也在 Chrome 的控制台中:
Uncaught RangeError: Maximum call stack size exceeded
at Object.EJSON.clone (http://localhost:3000/packages/ejson.js?71047b64b5196348bdbe5fd5eea9ac97a5a9eb14:528:3)
at http://localhost:3000/packages/ejson.js?71047b64b5196348bdbe5fd5eea9ac97a5a9eb14:530:22
at Function._.each._.forEach (http://localhost:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:164:22)
at Object.EJSON.clone (http://localhost:3000/packages/ejson.js?71047b64b5196348bdbe5fd5eea9ac97a5a9eb14:529:5)
at http://localhost:3000/packages/ejson.js?71047b64b5196348bdbe5fd5eea9ac97a5a9eb14:530:22
at Function._.each._.forEach (http://localhost:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:164:22)
at Object.EJSON.clone (http://localhost:3000/packages/ejson.js?71047b64b5196348bdbe5fd5eea9ac97a5a9eb14:529:5)
at http://localhost:3000/packages/ejson.js?71047b64b5196348bdbe5fd5eea9ac97a5a9eb14:530:22
at Function._.each._.forEach (http://localhost:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:164:22)
at Object.EJSON.clone (http://localhost:3000/packages/ejson.js?71047b64b5196348bdbe5fd5eea9ac97a5a9eb14:529:5)
以前有人遇到过这种情况吗?
编辑:
文档示例:
{
_id: "DCgKA73wNm2mYAhSD",
base64: "very long string..."
ownerId: "fRPD87tHkap9hQyB8",
tags: [
"nothing",
"special"
]
}
【问题讨论】:
-
你的数据结构有循环引用吗?
-
我们在这里讨论了多少文件?它们都具有相同的结构吗?出现的错误对于“异步调用”很常见(这是流星“隐藏”在你身边的东西,但仍在幕后发生)。我敢打赌,您目前没有分享的 “用图片做点什么” 部分是问题的原因
-
@BlakesSeven 你真是个救世主!我不知道 Meteor 是这样工作的,但你对不同结构的事情是对的,我最近添加了标签,有些图片没有它们,从集合中删除它们解决了它。
-
@BlakesSeven 谢谢,我把它作为未来问题的要点。您能否在高层次上描述这个问题的根源是什么,以便我可以将其记录为这个问题的公认答案?我对 Meteor 还很陌生,仍在学习它的内部结构。
-
我希望我能给你更多@Anko - 你的建议正是调用我的调用堆栈异常的原因。对于其他任何人:我在整个错误跟踪中都遇到了 EJSON 问题。
标签: javascript node.js mongodb meteor