как передать два запроса в функции разрешения GraphQL? - PullRequest
0 голосов
/ 15 ноября 2018

Сегодня я столкнулся с проблемой в операции db (drop) внутри функции разрешения (GraphQL). Код ниже.

dropAuthor: {
type: authorType,
            args: {id: idType},
            async resolve(parent, args){
                Book.deleteMany({authorId: args.id}).find();
                return Author.deleteOne({_id: args.id});
            }
}

Запрос GraphiQL ниже

mutation{  
  dropAuthor(id:"5bed7c23bff55c1086a7b4d4"){
    id
  }
}

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

1 Ответ

0 голосов
/ 15 ноября 2018
dropAuthor: {
  type: authorType,
  args: { id: idType },
  async resolve(parent, args){
    let deleteBooks = Book.deleteMany({ authorId: args.id }).find();
    let deleteAuthor = Author.deleteOne({ _id: args.id });
    return Promise.all([deleteBooks, deleteAuthor]);
  }
}

Попробуйте этот код.

...