MongoDB值可以是Hashmap吗,并且该哈希映射可以在Mongoose模式中建模吗?



我写了以下MongooseJS模式。字段"likers"是一个嵌入式记录,目前是一个带有两个键的POJO。嵌入式架构是否可以是哈希映射,每个"liker"字段都充当键?

这是哈希映射应该是什么样子:

const userlikers = {
  {'100900800' : 'user'}
  {'100989455' : 'user'}
  {'109099985' : 'user'}
}

下面是当前架构

const userlikers = Schema({
    users : {
        type: Schema.Types.Mixed
    }
})
const PicSchema = Schema ({
    url : {
        type : String, 
        required : true
    }, 
    desc : {
        type : String, 
        required : true
    },
    likers : [userlikers], 
    created : {
        by : {
            type : Schema.Types.ObjectId, 
            ref : 'User', 
            required : true
        }, 
        at : {
            type : Date, 
            default : Date.now
        }
    }
})
const Pic = mongoose.model('Pic', PicSchema);
module.exports = Pic;
我知道

已经很晚了,从猫鼬版本 5.10.9 开始,您可以使用映射而不是类型:Schema.Types.Mixed

const PicSchema = Schema ({
    ..............
    ........
    likers : { 
            type: Map,
            of: String
           }, 
   ........
   ........
})

最新更新