Как мне справиться с неполными наборами TypeScript для мангуста? - PullRequest
0 голосов
/ 08 ноября 2019

Я создаю API-интерфейс TypeScript nodejs с использованием Mongoose 5.7.8, но у меня возникают проблемы с типизацией @types/mongoose. Кажется, набор для Model.replaceOne() не завершен.

Я хотел бы использовать этот метод:

const res = await Profile.replaceOne({sub: profile.sub}, profile,  { upsert: true });

, но, к сожалению, метод набора не поддерживает объект параметров, который появляется наконец разговора. replaceOne() имеет эту подпись в файле типа:

replaceOne(conditions: any, replacement: any, callback?: (err: any, raw: any) => void): Query<any> & QueryHelpers;

, тогда как updateOne() правильно описывает необязательный ModelUpdateOptions:

updateOne(conditions: any, doc: any, options: ModelUpdateOptions,
      callback?: (err: any, raw: any) => void): Query<any> & QueryHelpers;

У меня есть выбор приведения Profileк любому (нет) или с использованием updateOne() в качестве альтернативы.

Есть ли способ расширить типы или каким-либо другим способом обойти эту проблему? Я зашел на страницу npm , но не представляется никакой возможности сообщить об этой проблеме. Предложения

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