具有mongoose模式的关联数组?

时间:2013-10-02 19:16:48

标签: node.js mongodb mongoose

在mongodb中使用关联数组被认为是不好的做法吗?我很好奇为什么mongoose似乎没有在它的Schema定义中提供这个。

2 个答案:

答案 0 :(得分:3)

如果通过“associative array”,你的意思是“对象”,那就行了。您可以只使用常规的旧“对象”,也可以指定特定的属性,也可以使用“mongoose.Schema.Types.Mixed”来允许不同的类型。

{
  //regular old javascript/json data types
  created: Date,
  //this works just fine
  statistics: Object,
  //or you can specify the shape of the object
  address: {state: String, line1: String},
  //for the extra features you get with a true subdocument
  nested: [SomeOtherMongooseSchema],
  //Could be array, boolean, number, whatever. Can vary with each document.
  grabBag: mongoose.Schema.Types.Mixed 
}

答案 1 :(得分:0)

考虑使用猫鼬版本> 5.1.0

如文档此处所指定:https://mongoosejs.com/docs/schematypes.html#maps

您可以通过这种方式使用Map来指定一个关联数组:

  myAssociativeArray: {
    type: Map,
    of: String
  }

顺便说一句,我不知道是否可以使用这种语法指定密钥类型