1

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

4

2 回答 2

0

尽管您的问题不是很清楚,但我认为这可能会对您有所帮助。除了模式类型之外,您还可以将一个模式引用到另一个模式中。如下例所示:

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
    }
});
于 2013-11-14T11:03:03.567 回答
0

Mongoose 不支持嵌入文档的 MongoDB 功能,它与具有完整验证/挂钩功能集的父文档具有一对一的关系。您可以将混合文字 JSON 对象存储在属性中,但不能将 Mongoose 功能与该 json 对象一起使用。

这是 Mongoose 4.0 的限制。开发人员声称此限制是故意的,以确保 Mongoose 的钩子功能正确执行,但用户中有很多支持实施解决方案: https ://github.com/Automattic/mongoose/pull/585

于 2015-06-19T10:31:00.303 回答