我有两个对象,childPost和parentPost。我想将childPost作为Subelement存储到parentPost,反之亦然,但无论我尝试什么,我总是遇到:
RangeError: Maximum call stack size exceeded
在stackoverflow上已经有很多关于这个主题的线程,但似乎没有一个线程有我遇到的确切问题。
我的代码(遗漏了不必要的代码,如错误处理):
async.parallel([
function () {
originalPost.subPosts.push(post);
originalPost.save(function (err) {
});
},
function () {
post.originalPost.push(originalPost);
post.save(function (err, post) {
});
}
], sendResponse(res, 201, post));
我在上述解决方案旁边尝试了什么:
async
lib setImmediate()
,nextTick()
,setTimeout()
post.originalPost.push(originalPost);
- 这有效,但是它并没有将子元素保存在我的子帖子中我用:
编辑:我的数据模型:
var postSchema = new mongoose.Schema({
sharedPosts: [subPostSchema],
originalPost: [subPostSchema],
// ...-
});
我的subPostSchema
看起来就像我的postSchema
(很遗憾,我无法做sharedPosts: [postSchema]
而没有收到错误 - >所以我复制了我的架构。对我来说似乎不对,但这是迄今为止我能让它运作的唯一方式)
答案 0 :(得分:0)
我的解决方案:查看我的帖子的评论 general:我无法将originalPost添加到我的sharedPost中,其中包含originalPost - >无尽的循环。防止循环工作