Я хочу создать динамический c объект с ключами в качестве objectID другой модели, а затем заполнить динамические c ключи. например, для актива я хочу, чтобы ключи деталей были идентификатором атрибута, но при заполнении деталей я хочу, чтобы ключи были attribute.name вместо _id
attributes:
{
"_id":"5a23f5e6159f5c3438c75971",
"name": "name"
"type": "string"
}
{
"_id":"5a23f60b159f5c3438c75972",
"name": "age"
"type": "number"
}
asset:
{
"_id":"5a23f5e6159f5c3438c75973",
"type": "driver",
"details": {
"5a23f5e6159f5c3438c75971": "bob",
"5a23f60b159f5c3438c75972": "50",
}
}
populated asset:
{
"type": "driver",
"details": {
"name": "bob",
"age": "50",
}
}
const Attribute = new Schema({
name: { type: String },
type: {
type: String,
enum: ["string", "number", "mobile", "email"],
}
})
const Asset = new Schema({
type: { type: String },
details: { [{ type: Schema.Types.ObjectId, ref: "Attribute"}]: String }
})
. Я могу определить детали как details: { type: Schema.Types.Mixed }
и затем pu sh в объекте с атрибутом id в качестве ключа, но я не могу понять, как их заполнить и как правильно определить схему актива, чтобы включить это. Ценю любую помощь по этому вопросу.