我遇到了三种不同的“加入”集合的方式:
- 手动保留对您希望加入目标集合的集合的“外键-esk”引用
- 使用DBRefs
- 编写一系列Map/Reduce函数来维护关系
有人可以解释每个人的好处和我应该什么时候吗?
我的第一印象是 Map/Reduce 用于大型、常用的集合,而另外两个主要用于小型/快速查询。
我遇到了三种不同的“加入”集合的方式:
有人可以解释每个人的好处和我应该什么时候吗?
我的第一印象是 Map/Reduce 用于大型、常用的集合,而另外两个主要用于小型/快速查询。
抱歉回复晚了 - 这是一个用猫鼬编写的嵌入式文档的简单示例:
var postSchema = new Schema({
author : {type : String},
title : {type : String, require : true},
content : {type : String, require : true},
comment : {
owner : {type : String},
subject : {type: String, require},
content : {type String, require}
}
});
这里的文档是 postSchema(它是模式,但我想你知道我的意思)。评论是嵌入的
文档,您可以看到它是在帖子中定义的对象。
好处是您每次调用 post 时都会收到评论,而无需额外查询,但是如果您有很多评论,它会使 post 文档变得非常大!