Node.js Can';无法访问mongoose响应对象属性
当我试图从mongoose访问响应obj时,它不会返回任何内容。下面是我的代码Node.js Can';无法访问mongoose响应对象属性,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,当我试图从mongoose访问响应obj时,它不会返回任何内容。下面是我的代码 //app.ts import { User } from './Models/User'; router.get('/reset/:token', async (req, res) => { const user = await User.findOne({ _id: '60a12460479e874db836d939' }).lean() console.log(user)//ret
//app.ts
import { User } from './Models/User';
router.get('/reset/:token', async (req, res) => {
const user = await User.findOne({ _id: '60a12460479e874db836d939' }).lean()
console.log(user)//returns an object with email property
console.log(user.email) //returns undefined
return res.json({
user,
})
})
而这个很好用
//app.ts
import { User } from '../Models/User';
router.get('/reset/:token', async (req, res) => {
const user = await User.findOne({ _id: '60a12460479e874db836d939' }, (err: any, user: any) => {
if (err) { console.log(err); }
console.log(user.email)//returns email
})
return res.json({
user,
})
})
我试过研究这个问题。他们中的大多数似乎都指出了模式。但我的模式似乎很好
下面是我的模式
//Models/User.ts
import mongoose from 'mongoose'
const UserSchema = new mongoose.Schema({
username: {
type: String,
required: true,
unique: true
},
email: {
type: String,
required: true,
unique: true
},
password: {
type: String,
required: true,
},
isAdmin: {
type: Boolean,
default: false
},
resetPasswordToken: String,
resetPasswordExpires: Date
})
export const User = mongoose.model('User', UserSchema);
请告知。
谢谢。您是否在没有
lean()
方法的情况下尝试过它?也不起作用,用户返回一个obj,但user.email返回未定义