У меня есть схема mongodb, определенная с помощью mongoose, и некоторые вложенные документы вложены в несколько уровней.Я хочу иметь доступ к этим (заполненным) поддокументам в виртуальных свойствах другой схемы, но я не могу этого сделать.Кажется, я могу получить доступ к документам на первом уровне вложения, но не дальше.
Вот пример моих схем:
const SchemaA = {
name: {type: string}
items: [
{
schemaB: {
type: schema.type.ObjectId,
ref: "B"
}
}
]
}
const SchemaB = {
name: {type: string}
schemaC: {
type: schema.type.ObjectId,
ref: "C"
}
}
const SchemaC = {
types: [{label: {type: String}}]
}
Что яя хочу получить доступ к SchemaC.types из виртуального свойства в SchemaA.
Вот чего я хочу достичь:
SchemaA.virtual("types").get(function(){
return this.items.map(item => {
return {name: item.schemaB.name, types: item.schemaB.SchemaC.types}
})
})
Из вышеприведенного item.schemaB
кажетсязаполнить просто отлично, но item.schemaB.SchemaC
кажется просто objectId schemaC.
Я не уверен, если это вообще возможно, если честно, но я не могу найти окончательный ответ где-либо в Интернететак что я надеюсь, что кто-то здесь может помочь.Спасибо!