Пн goose агрегированный конвейер, $ lookup и $ populate - PullRequest
0 голосов
/ 29 мая 2020

У меня две схемы / модели: File и Person. Каждому File можно назначить несколько Person с помощью электронной почты .

Они нужны мне для заполнения двух представлений:

  • Представление файлов, в котором отображаются все лица, которым он был назначен.
  • Представление людей, в котором отображаются все назначенные файлы человеку.

Определения схемы:

fileSchema = new mongoose.Schema({
  name: String
  persons: {
    id: mongoose.Type.ObjectId,
    email: String,
    ref: 'person'
  }
});

personSchema = new mongoose.Schema({
  name: String
  files: {
    id: mongoose.Type.ObjectId,    
    ref: 'file'
  }
})

Я использую ax ios для отправки запроса на исправление, где тело представляет собой массив Person писем которым необходимо присвоить File.

axios.patch(baseURL/files/:fileId, emails)

Как мне использовать агрегатные методы $ lookup или $ populate, чтобы убедиться, что обе мои files и persons коллекции обновляются правильными ссылками , включая _id из коллекции persons, хранящуюся как ссылку в коллекции files.

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