如何在mongoose嵌入式文档架构中设置默认集合

时间:2015-11-24 22:22:37

标签: mongodb mongoose

如何在mongoose中的模型架构中设置默认集合。使用基本示例,我如何在comments数组中使用默认注释。例如

var defaultComment = {title: 'add your first post'}

我在定义中做了这样的事吗? comments: {type:[Comments], default:defaultComment }

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

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

mongoose.model('BlogPost', BlogPost);

1 个答案:

答案 0 :(得分:0)

根据Schemas的Mongoose文档,密钥可以指定default value。因此,对于您的示例,可以将Comments模式定义为:

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

var CommentsModel = mongoose.model("comments", Comments);

然后,存储您的默认评论,并将其用作BlogPost架构中的默认值:

var defaultComment = new CommentsModel({
    title: "Add your first post"
});

var BlogPost = new Schema({
    author    : ObjectId
  , title     : String
  , body      : String
  , date      : Date
  , comments  : { type: [Comments], default: defaultComment }
  , meta      : {
        votes : Number
      , favs  : Number
    }
});

我希望这会有所帮助。干杯!