在mongodb中使用关联数组被认为是不好的做法吗?我很好奇为什么mongoose似乎没有在它的Schema定义中提供这个。
答案 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
}
顺便说一句,我不知道是否可以使用这种语法指定密钥类型