0

如果我有一个父模式,例如:

{
  doc_name:String,
  doc_collection:[?????]
}

和 subdoc 孩子:

child1 = 
{
 child_type: String,
 property1: String,
 property2: Number
}

child2 = 
{
  child_type: string,
  different_property1: Number,
  much_different_property2: String
}

parentschema.doc_collection 可以同时保存 child1 和 child2 模式的子文档吗?

还是我必须这样做:

{
  doc_name:String,
  doc_collection:
  { 
    child1:[child1],
    child2:[child2]
  }
}

我通常会创建一个子文档模式,该模式可以包含我要粘贴在数组中的所有对象类型的属性,但是这些实在是太不同了。从控制器的角度来看,子模式都是 doc_collection 类型。

4

1 回答 1

0

如果我的记忆很好,猫鼬不处理复杂类型的数组(在内容验证方面)

这意味着,如果您的模型是这样的:

{
  doc_collection : []
}

{
  doc_collection : [child1]
}

是一样的。最糟糕的是,如果你的模型是

{
  doc_collection : [child1]
}

您可以在 doc_collection 数组中添加任何内容

myModel.doc_collection.push(anyChild2);

看看数组章节: http: //mongoosejs.com/docs/schematypes.html

于 2013-06-17T09:59:02.077 回答