Пн goose отношения многие ко многим с полем дополнения - PullRequest
0 голосов
/ 23 апреля 2020

Привет, ребята. Я пытаюсь создать приложение для викторины, в настоящее время у меня есть 2 модели:

Модель для викторины : (в которой хранятся все вопросы, например, категория для вопросов)

import * as mongoose from 'mongoose';

export const QuizSchema = new mongoose.Schema({
  name: { type:String, required:true },
  slug: { type:String, required:true },
});

Модель вопроса : (в которой хранится один вопрос с ответами и т. Д. c)

import * as mongoose from 'mongoose';

export const QuestionSchema = new mongoose.Schema({
  question: { type:String, required:true },
  options: [String],
  answers: Array,
  quizCategory: [{
    type: mongoose.Schema.Types.ObjectId, // here is relate each question to Quiz
    ref: "Quiz",
  }]
});

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

quizCategory: [{
    type: mongoose.Schema.Types.ObjectId, // here is relate each question to Quiz
    ref: "Quiz",
  }]

Для связи и позволил бы мне хранить 1 Вопрос во многих категориях Викторины, этот код выше позволяет мне это.

Но знаете, когда я сохраняю один и тот же Вопрос в разных Викторинах (категориях), я бы хотел, чтобы его позиция также сохранялась, например:

У меня есть 4 вопроса: q1, q2, q3, Категории викторины q4 и 2: «Cat 1», «Cat2» ...

Я хотел бы сохранить q1 в «Cat 1» с позицией 2, а также сохранить тот же вопрос в «Cat 2» с позиция 5.

А затем q2 сохранить в «Cat 1» только на позиции 4, что-то вроде этого

Я хотел бы, чтобы для каждой коллекции вопросов, которые я храню в категории Викторина, был порядок и т. д. c своей позиции. Но чтобы можно было повторно использовать 1 вопрос по нескольким категориям с разным положением, если я ясно :)

...