Как использовать виртуальные поля в методе преобразования mon goose to JSON - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть 3 коллекции, а именно. user, user-usergroup и usergroups

Я пытаюсь заполнить пользователя группами пользователей через таблицу соединений user-usergroup. Раньше при использовании Waterline в качестве ORM это было довольно легко, используя via & through. Но я потерпел неудачу в различных методах, включая использование

  • заполнить в заполнить
  • виртуальный как userUsergroup, а затем попытался использовать виртуальный как user, связанный с userUsergroup

теперь я пытаюсь определить виртуальную для user в user-usergroup схему для пользователя и другую виртуальную в usergroup для user-usergroup. Затем я пытаюсь заполнить, используя метод JSON, как показано ниже.

var user = Schema({name: String})
var usergroup = Schema({name: String})
var userUsergroupRel = Schema({usergroup: Types.ObjectId, user: Types.ObjectId})

userUsergroupRel.virtual('user', {ref: '###', localField: 'user', foreignField: '_id', justOne:false})
usergroup.virtual('userUsergroup', {ref: '###', localField: '_id', foreignField: 'usergroup'})
usergroup.set('toJSON', {
  virtuals: true,
  transform: function(doc, ret) {
    ret.userUsergroup = ret.userUsergroup.toJSON({virtuals: true})
    return ret
  }
})

Но это даже не заполнение userUsergroup при вызове toJSON.

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