NextAuth : Не удается запросить модель пользователя при использовании NextAuth

#next.js #next-auth

#next.js #далее-авт

Вопрос:

Я использую NextAuth для своего приложения Nextjs/ MongoDB. Я получаю ошибку, когда пытаюсь запросить запись пользователя в файле Api.

 import Users from '../../../model/user';  let userId = query.id; const userData = await Users.findOne({_id:userId}); console.log('userData ',userData);  

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

 error : _model_user__WEBPACK_IMPORTED_MODULE_1__.default.findOne is not a function  

Ответ №1:

  1. Что такое query ? Я думаю , вам это нужно req.query.id , потому что у вас есть req и res в запросах API, и в ответах
  2. Вам нужно преобразовать свой userId в ObjectId
     import Users from '../../../model/user'; import { ObjectId } from 'bson';   ...your method of handler, eg get, post, delete etc  //if you have name [id].tsx, for [pid].tsx you need req.query.pid let userId = req.query.id;  //you need to transform only if you are searching by _id field const userData = await Users.findOne({"_id": ObjectId(userId)}); if (userData.?_id){  res.status(200).json(userData) } else{  res.status(500).json('User data not found') }