запросы возвращают Document, но, если результат любого метода работы с БД от mongoose положить в переменную, то там будет лежать объект данных, а не Document. Как так?
Т.е. делая
const users: Document<IUserModel>[] = await UserModel.find(findUserParams);
В users я имею массив пользователей.
А вот делая так - {...users[0]}, я уже имею объект Document. Почему?
IUserModel как выглядит?
Перечень свойств юзера с типизацией значений. Ну типа { name: string; username?: string; email: string; password: string; ... }
я не шарю в TS чесно говоря, но если хочешь там документ чтобы был, думаю нужно extends Document в интерфейсе дописать
А что не так то?
Мне не понятно, почему в user попадает Document (что видно из отладчика), но к нему можно обратиться за свойствами как к объекту со структурой БД (вывод в консоль дает просто юзера из базы, без API Document) Было бы понятно если бы API весь был спрятан в prototype, но нет же.
Если что, я искал вот этот метод https://mongoosejs.com/docs/api/document.html#document_Document-toJSON
Обсуждают сегодня