Mongodb использует схему схемы в самой схеме - PullRequest
0 голосов
/ 16 июня 2020

Изображение, что у меня есть следующая модель MongoDB в Mon goose:

const stats = new mongoose.Schema({
    startDate: Date,
    endDate: Date
    totals: {
        revenue: Number,
        tax: Number,
        profit: Number
    }
})

Теперь я хочу повторно использовать эту схему в самой схеме. Каждый документ содержит итоги за целый месяц и за каждый отдельный день. Таким образом, полная модель будет примерно такой:

const model = new mongoose.Schema({
    stats,
    days: [{stats}]
})

Это код, который у меня есть, но когда я пытаюсь создать новый документ в этой модели, ничего не сохраняется, кроме пустого массива at days.

Итак, похоже, что свойство stats не распознается как схема (вероятно, из-за отсутствия имени / ключа). Как мне заархивировать что-то подобное?

Edit 1:

Исправлена ​​1 ошибка в модели. Модель теперь выглядит так:

const model = new mongoose.Schema({
    stats,
    days: [stats]
})

Теперь модель создана с данными в days[], но сама модель пуста.

1 Ответ

0 голосов
/ 16 июня 2020

Попробуйте определить его как:

const model = new mongoose.Schema({
    ...stats.obj,
    days: [{stats:{ type: stats}}]
})
...