Mongoose - Как получить значения вложенного документа для вставки в другой документ? - PullRequest
0 голосов
/ 05 февраля 2019

Когда я вставляю новый турнир, у меня есть что-то вроде этого для «mode» и «rule»:

"mode" : ObjectId("5c4cdc8ad439c01d2061f335"),
"rule" : ObjectId("5c4cdc8ad439c01d2061f336")

Я хочу получить не только ObjectId, но также данные, такие как имя и описание для обоихиз них.

У меня есть две модели:

game.model.js

const rulesSchema = new Schema({
    name: String,
    description: String
});

const platformSchema = new Schema({
    name: String
});

const modesSchema = new Schema({
    name: String,
    description: String
});

const gameSchema = new Schema({
    name: String,
    platforms: [platformSchema],
    modes: [modesSchema],
    rules: [rulesSchema],
    isValidate: Boolean,
    author: String,
    date: Date
});

Tourinmo.model.js

const ObjectId = mongoose.Schema.Types.ObjectId;

const tournamentSchema = new Schema({
    game: ObjectId,
    name: String,
    description: String,
    mode: ObjectId,
    rule: ObjectId,
    online: Boolean,
    nbPlayers: Number,
    startDate: Date,
    place: String,
    dateCreation: Date,
    author: String     
});

IЯ пробовал несколько решений, но я не уверен, что понимаю, как работает "отношения" между двумя моделями.

Каков наилучший способ для этого? Нужно ли хранить весь поддокумент (я использую Ionic для представления)или просто нужен идентификатор?

Спасибо!

...