заполнить поле в документе подсхемы - PullRequest
0 голосов
/ 10 июня 2019

У меня есть вложенная подсхема в виде массива, в этом массиве подсхем я делаю ссылку на идентификатор объекта типа Image (см. Схему изображения).что я хочу, чтобы заполнить этот идентификатор объекта данными самого изображения.возобновить желание заполнить поле в документе схемы.Я перепробовал много решений, но безуспешно, есть идеи, как этого добиться?Спасибо

У меня есть 3 схемы, подобные следующим:

const deviceSchema = mongoose.Schema({
    _id: mongoose.Schema.Types.ObjectId,
    name: {
        type: String,
        required: true,
    },
    os: {
        type: String,
        required: true,
    },
   },
    images:[assignedImagesSchema]
});

const  assignedImagesSchema = new mongoose.Schema({ 
    id: {type: mongoose.Schema.Types.ObjectId, ref:"Image"},
    isVisible: {
        type: Boolean,
        default: true
    },
    visibleFor: {
        type: Number,
        default: 0
    },
    orderIndex: {
        type: Number,
    }
  });
const imageSchema = mongoose.Schema({
    _id: mongoose.Schema.Types.ObjectId,
    url:{
        type: String,
        required: true,

    },
    orientation: {
        type: String,
        required: true,
    },
    devices: [{type: mongoose.Schema.Types.ObjectId, ref:'Device' }]

1 Ответ

0 голосов
/ 10 июня 2019

Вы можете просто добавить в свой assignImageSchema новое поле, которое принимает imageSchema в качестве объекта. Например:

const assignedImagesSchema = 
new mongoose.Schema({ 
image: { type: imageSchema } , 
isVisible: { type: Boolean, default: true },
visibleFor: { type: Number, default: 0 },
orderIndex: { type: Number, } });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...