Mongoose与嵌入式文档的一对一关系

时间:2013-11-13 05:56:38

标签: mongoose

如何在MongoDB中建模父文档与嵌入文档之间的一对一关系? Mongoose的填充功能将满足我的需求,但它使用引用,而不是实际的子文档。

2 个答案:

答案 0 :(得分:0)

虽然你的问题不是很明确,但我认为这可能会对你有所帮助。 除了schema types之外,您可以将一个模式引用到另一个模式中。如下例所示:

var Comments = new Schema({
    title     : String
  , body      : String
  , date      : Date
});

var BlogPost = new Schema({
    author    : ObjectId
  , title     : String
  , body      : String
  , date      : Date
  , comments  : [Comments] //Here is the Embedded schema
  , meta      : {
        votes : Number
      , favs  : Number
    }
});

答案 1 :(得分:0)

Mongoose不支持具有完整验证/挂钩功能集的Embedded documents in a one-to-one relationship to the parent document的MongoDB功能。您可以在属性中存储混合文字JSON对象,但不能将Mongoose功能与该json对象一起使用。

这是Mongoose 4.0的限制。开发人员断言这个限制是有意的,以确保Mongoose的钩子功能正确执行,但是用户之间有很多支持来实现解决方案:https://github.com/Automattic/mongoose/pull/585