Что это за ошибка MongoDb: ожидаемый «запрос» будет BSON (или эквивалентным), но вместо него получен bson.ObjectId - PullRequest
0 голосов
/ 07 марта 2020

У меня есть nest.js + mongodb + typegoose приложение.

Я получаю следующую ошибку:

Ожидаемый «запрос» будет BSON (или эквивалентным) ), но вместо этого получил bson.ObjectId.

В deleteById метод:

export abstract class BaseService<T extends Typegoose> {
  protected _model: ModelType<T>;

  //............other methods............

  async deleteById(id: string): Promise<DocumentType<T>> {
    // ERROR IN THIS LINE >>
    return this._model.findOneAndDelete(id).exec();
  }
}

ПРИМЕЧАНИЕ. Переданный id является действительным id в базе данных.

1 Ответ

0 голосов
/ 07 марта 2020

Функция findOneAndDelete требует документ BSON в качестве аргумента.

Попробуйте

findOneAndDelete({_id:id})
...