当我尝试从 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)//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);
请指教。 谢谢。