【发布时间】:2014-02-13 15:40:31
【问题描述】:
假设我正在使用 Node.js 和 mongoose 构建一个讨论论坛。一个用户可以有多个论坛,一个论坛可以有多个cmet。用户也可以邀请其他用户加入论坛。因此,我的问题是关于使用参考或嵌入文档的模型设计!
如果我使用嵌入式文档,它看起来像:
var Comment = new Schema({ ... });
var Forum = new Schema({
title: {type: String},
content: {type: String},
comments: [Comment],
attendees: [User]
});
var User = new Schema({
name: {type: String},
email: {type: String},
forums: [Forum]
});
var Account = mongoose.model('Account', User);
使用上述设计,我遇到了以下问题:当用户向论坛添加评论,并且该论坛在我的论坛中时,我认为我无法在我的论坛列表中获得新评论的更新.我吗?你知道如何让嵌入的文档在这种情况下工作吗?
因此,我正在考虑在 mongoose 中使用 reference。在这种情况下,我将有两个集合:Account 和 Forum。在这种情况下,向论坛添加新评论不是问题。我说的对吗?
reference 会比 嵌入式文档 更好吗?
提前致谢,
【问题讨论】:
-
以下答案之一对您有帮助吗?
-
这篇文章对我理解嵌入很有帮助。
标签: javascript node.js mongodb express mongoose