使用Mongoose引用文档的正确方法

时间:2016-10-04 01:13:34

标签: node.js mongodb mongoose

我在所有例子中都看到后缀" _id"在引用另一个文档的字段上。

示例:

record: {
   _id : ObjectId("57f2fb5d1c6c3b0de45b170e",
   artist_id: "prince" )
}

artist: {
   _id: "prince"
}

因为我的艺术家mongo Schema拥有"独特的"名称字段上的属性。

下面的事情可以吗?

record: {
   _id : ObjectId("57f2fb5d1c6c3b0de45b170e",
   artist: "prince" )
}

artist: {
   _id : ObjectId(6eygdqzd5d1c6c3b0de45b1s0r",
   name: "prince"
}

或者你应该像第一个例子中那样直接引用Id吗?

1 个答案:

答案 0 :(得分:0)

如果您在RDBMS世界中可视化您的问题,那么也要建立外键约束,该字段应该是引用表中的主键,并且此处适用相同的规则。

现在在您的艺术家文档中虽然每个文档都包含一个唯一的艺术家名称,但名称字段本身不是键(主键),但ID是。

因此您必须使用_id字段建立引用。

你能做的就是为了方便,如果你想要而不是依赖于mongodb生成的ID字段,你可以使用名称作为_id。