Javascript 猫鼬的奇怪错误

Javascript 猫鼬的奇怪错误,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,执行此操作时,我在终端中正确地接收到了用户,但之后,应用程序突然崩溃,这是错误TypeError:cannotread属性'\u id'为null。req.session.user已在应用程序中定义。这不是第一次调用UserModel.findOne({user:req.session.user},但是唯一一次返回此错误!为什么会发生这种情况 编辑: var userschema = new mongoose.Schema({ user: String, pass: String,

执行此操作时,我在终端中正确地接收到了用户,但之后,应用程序突然崩溃,这是错误
TypeError:cannotread属性'\u id'为null
req.session.user
已在应用程序中定义。这不是第一次调用
UserModel.findOne({user:req.session.user}
,但是唯一一次返回此错误!为什么会发生这种情况

编辑:

var userschema = new mongoose.Schema({

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

});
这是用户的模式

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');

     });

});
编辑:

var userschema = new mongoose.Schema({

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

});
我不知道为什么,但是我在
UserModel.find()
中没有发现任何错误。它只发生在
UserModel.findOne()

编辑:

var userschema = new mongoose.Schema({

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

});
这就是出现在下面的错误。与前面相同:
TypeError:cannotreadproperty'\u id'of null

Try

[ { __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 ]
问题是,您请求的用户具有名为
user
的属性,其值为当前用户。您真正想要的(我假设)是数据库中作为当前会话用户的用户项

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

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

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

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

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

了解
UserModel
模式是如何定义的以及
req.session.user
的值会有帮助。我只在会话中存储用户id,而不是整个用户对象。了解
UserModel
模式是如何定义的以及
req.session.user
的值会有帮助。我只在会话中存储用户id,而不是在整个用户对象中整个用户对象。