Mongodb计数问题,对象对象

Posted

技术标签:

【中文标题】Mongodb计数问题,对象对象【英文标题】:Mongodb count issue, object object 【发布时间】:2014-05-27 03:51:41 【问题描述】:

我有一个 node.js 服务器,它调用一个需要查询 Mongodb 数据库的函数。

exports.zonetotal = function(db) 
  return function(req, res) 
    var inZone1 = 2;
    inZone1 = db.collection('driveby').count();
var items = [
    "zone":"1" , "number":inZone1
 ]; 
    
      res.json(items);
    
  
;

当我尝试使用此功能并在网页上的表格中显示结果时,我只得到一个显示对象对象的结果。如果我只是说 var inZone1 = 2;然后显示数字,所以我认为这不是我尝试发送数据的方式的问题,我认为这是查询的问题。任何想法,谢谢。

【问题讨论】:

您的意思是当您控制台记录响应时,对吗?但是你认为实际响应是什么,或者如果你在解析的对象上使用 JSON.stringify 呢? 【参考方案1】:

collection.count() 是异步的。您需要提供一个执行渲染的回调。见this。只需像这样在回调中移动您的渲染代码:

db.collection('driveby').count(zone:1, function(err, count) 
  console.log(count + "records in db");
  console.log("There are " + count + " records in db");
  var items = [ "zone":"1" , "number":count ]; 
  res.json(items);
);

【讨论】:

【参考方案2】:

Node MongoDB 驱动程序是异步的,因此您需要将回调传递给“count”并在回调中执行 res.json:

http://mongodb.github.io/node-mongodb-native/api-generated/collection.html#count

【讨论】:

如何在回调中传递回调?

以上是关于Mongodb计数问题,对象对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在 mongodb 中为新日期创建新对象?

如何在 MongoDB 中获得简单的计数和分组?

MongoDB 从其他集合中获取数组中最常用的类别以及计数

MongoDB 聚合错误:管道阶段规范对象必须只包含一个字段

设计用于返回多个对象计数的 REST api

自定义 MongoDB 对象 _id 与复合索引