无法访问猫鼬find()结果的详细信息

ch

我将Node / Express与MongoDB结合使用,试图查找是否存在具有特定字段名称的对象。

我认为数据库连接本身还可以,因为我可以将事情添加到数据库中(通过运行应用程序,然后通过mongo shell进行确认)

下面的代码应该使字段student的值Class增加1,/nextpage如果遇到问题,请转到下一页

exports.join = function(req,res,next){
 Class.find(({code:{$in: [req.body.roomNumber]}}), function(err, out){
  if(err){res.redirect('/'); next(err);}
  else{
   console.log(out);                 // returns the whole object from db. 
                                     // for no match, I get "[]"
   console.log(req.body.formEntry);  // returns the entered form value OK
   console.log(out.roomNumber);      // always returns "undefined"; why?
   if(out != null) {                 // always passes
    console.log('adding 1 to students');
    Class.update({code:req.body.formEntry}, {$inc:{'students':1}}); // also didn't work
    res.redirect('/nextpage');
   }else{
   console.log('class not found');
   }
  }
 };
}

我曾尝试检查诸如out.params.roomNumber(get undefined)或out.next()(thinking it is a query)之类的东西,但console.log(out.roomNumber)考虑到这一事实,它console.log(out)给我所需的对象及其所有字段均完好无损(ALWAYS undefined)的输出感到困惑我读了一个类似的问题,但是问题在于异步性,因为整件事都在回调中,我认为可能并非如此。

罗伯特克莱普

find返回结果数组,数组也是如此out

如果每个班级都有一个唯一的房间号,则使用findOne更为合理:

Class.findOne({ code : req.body.roomNumber }, function(err, out) {
  // `out` is now a single result, provided there was a match
  ...
});

另外,$in用于匹配单个房间号有点多余,因此我将其排除在查询之外(类似于您用于的查询update)。

顺便说一句,你不应该混res.redirect()next()在一起(因为发送重定向结束请求,但next它传递给其他处理,这将在快速触发错误)。我建议使用此:

if (err) {
  return res.redirect('/');
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

猫鼬-无法访问对象属性?

来自分类Dev

猫鼬:无法访问填充值

来自分类Dev

无法访问wordpress登录名,也丢失了电子邮件详细信息

来自分类Dev

无法访问猫鼬填充中的属性?

来自分类Dev

如何获得有关猫鼬错误消息的更多详细信息?

来自分类Dev

访问猫鼬查询结果

来自分类Dev

如何获取数组结果的详细信息

来自分类Dev

从ArrayList访问对象的详细信息

来自分类Dev

网站访问者详细信息

来自分类Dev

猫鼬模型无法访问正在进行的连接事务

来自分类Dev

无法设置UITableViewCell的详细信息标签

来自分类Dev

无法打印GC详细信息

来自分类Dev

Google商家信息详细信息过滤结果

来自分类Dev

猫鼬find()不返回结果

来自分类Dev

无法从猫鼬文档访问某些属性

来自分类Dev

Android:无法加载主要详细信息中的详细信息片段

来自分类Dev

esxi详细信息

来自分类Dev

流星:访问客户端上的用户详细信息

来自分类Dev

app.UseErrorHandler()可以访问错误详细信息吗?

来自分类Dev

AngularJS通过匹配ID访问更多详细信息

来自分类Dev

从网页上的锚标签访问详细信息

来自分类Dev

访问ADF活动的“详细信息”组件而不是“输出”

来自分类Dev

如何在yii框架中访问用户详细信息?

来自分类Dev

访问groupby中每个项目的详细信息

来自分类Dev

AngularJS通过匹配ID访问更多详细信息

来自分类Dev

访问 USB 串口 -> 属性 -> 详细信息 [c#]

来自分类Dev

如何使用 python 访问 JSON 中的子详细信息?

来自分类Dev

无法访问通过QuickWatch访问的结果

来自分类Dev

无法从我的Laravel模型获取详细信息