Ошибка TS2339: свойство «toHexString» не существует для типа «ObjectId»

Я встречаю следующую ошибку. Это выглядит странно. Локально работает без ошибок возникает только на контейнере действий GitHub ci. И я не знаю, как его поймать. Странно еще и то, что метод toHexString существует в типе ObjectId. Используются NestJS и mongoose, поэтому существует много похожих типов по разным причинам. Но все они показывают, что у них есть метод. Это проблема машинописного текста.

● Test suite failed to run

    src/features/branch-role/services/branch-role.service.ts:28:41 - error TS2339: Property 'toHexString' does not exist on type 'ObjectId'.

    28       roleDTO.branchId = role.branchId?.toHexString();

Есть описание ошибки. Выглядит логично, но не раскрывает проблему. tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "es2017",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "skipLibCheck": true,
    "strictNullChecks": false,
    "noImplicitAny": false,
    "strictBindCallApply": false,
    "forceConsistentCasingInFileNames": false,
    "noFallthroughCasesInSwitch": false
  }
}

Может ли это быть несоответствие между целевой версией JS в вашем tsconfig.json? Пожалуйста, убедитесь, что этот файл тот же самый (т.е. убедитесь, что вы не игнорируете его git)

carlosV2 03.02.2023 16:37

Думаю, я использую тот же файл tsconfig.json. Точно сказать не могу, так как он используется по умолчанию.

Victor Shelepen 03.02.2023 16:42
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Мне нравится библиотека Mantine Component , но заставить ее работать без проблем с Remix бывает непросто.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
TypeScript против JavaScript
TypeScript против JavaScript
TypeScript vs JavaScript - в чем различия и какой из них выбрать?
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Не все нужно хранить на стороне сервера. Иногда все, что вам нужно, это постоянное хранилище на стороне клиента для хранения уникальных для клиента...
Что такое ленивая загрузка в Angular и как ее применять
Что такое ленивая загрузка в Angular и как ее применять
Ленивая загрузка - это техника, используемая в Angular для повышения производительности приложения путем загрузки модулей только тогда, когда они...
1
2
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Была такая же ошибка. Я не совсем уверен, в чем проблема, но она связана с определениями типов для модуля bson, которые не разрешаются должным образом. Ручная установка мне помогла.

yarn add -D @types/bson

ИЛИ

npm install --save-dev @types/bson

Да, это может быть проблемой. Он присутствовал в моем проекте, когда VSCode автоматически генерировал импорт. Теперь я исправил его, чтобы импортировать из mongodb

Victor Shelepen 06.02.2023 09:37

Да, я нашел то, что пропустил.

Victor Shelepen 06.02.2023 11:54

Другие вопросы по теме

Похожие вопросы

Не удается получить доступ к элементу в сценарии глобальной настройки Playwright
Тип возвращаемого значения в универсальной машинописной функции, не понятный машинописному тексту
Как получить типы аргументов конструктора класса как объект?
Ошибка: утверждение не выполнено: разрешение целевого хостинга сайта без имени сайта или целевого имени -> Развертывание изменений в Firebase Hosting на сайте Live
Typescript добавить новое свойство (тип) в существующий интерфейс
Как зациклить и отобразить ключ объекта?
Попытка использовать изображение из «следующего/изображения» вызывает ошибку TypeScript
Как передать функциональный компонент в качестве реквизита в Typescript и отобразить его?
Невозможно динамически отображать компонент через Object.entries
Получение «Невозможно прочитать свойства неопределенного (чтение« проектов »)» при попытке построить проект TypeScript