gpt4 book ai didi

javascript - Mongoose 的奇怪错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:13:18 25 4
gpt4 key购买 nike

app.get('/showme', function (req, res){

console.log(req.session.user);

UserModel.findOne({ user: req.session.user }, function (err, user){

if (err) throw err;

console.log(user);
res.send('Look');

});

});

执行此操作时,我在终端中正确接收到了用户,但是之后应用程序突然崩溃,这是错误TypeError: Cannot read property '_id' of nullreq.session.user 已在应用程序中定义。这不是第一次调用 UserModel.findOne({ user: req.session.user } ,但这是唯一返回此错误的函数!为什么会发生这种情况?

编辑:

这是用户的架构

var userschema = new mongoose.Schema({

user: String,
pass: String,
mail: String,
avatar: String,

});

编辑:

我不知道为什么,但 UserModel.find() 没有收到任何错误。它仅发生在 UserModel.findOne() 中。

编辑:

app.get('/showme', function (req, res){

UserModel.find({ user: req.session.user }, function (err, user){

for (var i = 0; i <= user[0].following.length; i++) {

UserModel.find({ _id: user[0].following[i] }, function (err, users){

var userss = [];
users[i] = users[i];
console.log(users);

});

}

});

res.send('Hello');

});

在此代码中,第一次 UserModel 不会返回任何错误,但第二次会返回!这是我在终端中收到的内容:

[ { __v: 2,
_id: 50e1d852d7b6f9e1be000003,
avatar: './users/rodridev/full_Mgs-solid-snake.jpg',
user: 'rodridev',
notification: [],
followers: [ '50e1cfda6e63107eb6000003' ],
following: [ '50e1cfda6e63107eb6000003' ],
,
,
undefined ]
[ , , , undefined ]
[ { __v: 1,
_id: 50e214171553600000000003,
avatar: './users/kirbo/8816.masterchief.jpg-610x0.jpg',
user: 'kirbo',
followers: [ '50e1cfda6e63107eb6000003' ],
following: [],
imagen: [] },
,
,
undefined ]

这是下面出现的错误。与之前相同:TypeError: Cannot read property '_id' of null

最佳答案

尝试

UserModel.findOne({ _id: req.session.user._id }, function (err, user) {

问题是您要求的用户具有名为 user 的属性,其值为当前用户。您真正想要的(我假设)是数据库中当前 session 用户的用户项。

或者,更好的是,我喜欢做

UserModel.findById(req.session.user._id, function (err, user) {

关于javascript - Mongoose 的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14104973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com