以下架构是否正确定义或writing
是否需要
writing: [Schema.Types.Mixed]
或 writing: [{}]
?
也就是说,如果你有一个字典数组 - [{},{},{}] - 除非你创建另一个模式并嵌入它,否则不能预定义内部结构。这是对文档的正确解释吗?
http://mongoosejs.com/docs/schematypes.html
var blogSchema = new mongoose.Schema({
title: String,
writing: [{
post: String,
two: Number,
three : Number,
four : String,
five : [{ a: String,
b : String,
c : String,
d: String,
e: { type: Date, default: Date.now },
}]
}],
});
感谢。
答案 0 :(得分:20)
那个架构很好。在数组模式元素中定义对象被隐式视为其自己的Schema
对象。因此,他们将拥有自己的_id
字段,但您可以通过明确定义禁用了_id
选项的架构来禁用它:
var blogSchema = new mongoose.Schema({
title: String,
writing: [new Schema({
post: String,
two: Number,
three : Number,
four : String,
five : [new Schema({
a: String,
b: String,
c: String,
d: String,
e: { type: Date, default: Date.now },
}, {_id: false})]
}, {_id: false})],
});