我尝试做一些我已经做过几次的事情,从来没有遇到过这样的错误。
我只想在我的 meteor 应用程序中找到其 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"
]
}
最佳答案
你试过用 fetch() 运行它吗?
Collection.find({pictureId: currentPicId}).fetch();
fetch 将找到的光标变成一个数组。 但同样,如果没有更多信息,这个答案可能不相关。
关于javascript - Meteor:超出最大调用堆栈大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31892289/