当前位置: 首页 > 知识库问答 >
问题:

MongoDB游标。每个都会抛出错误

庞瀚
2023-03-14

我试图执行以下nodejs/mongoDB代码:

var tickers = [];

MongoClient.connect(mongoUrl, function(err, db) {
  assert.equal(null, err);
  console.log("Connected correctly to server."); //ok
  var cursor = db.collection('STI').find();
  cursor.each(function(err, doc){ 
      assert.equal(err, null);
      console.log(doc.symbol); //executes fine
      tickers.push(doc.symbol); 
  })
});

console.log(tickers);

符号很好地注销到控制台,但在此之后,代码抛出一个错误“TypeError:Cannotread property”symbol“of null”。

代码在执行tickers.push部分时似乎忘记了doc.symbol。我该怎么解决这个问题?

更新:

我试着移动控制台。将(股票代码)记录到光标中。每次回调,它都会打印出每次迭代所需的数组,因此符号推送正在发生。然而,我仍然得到相同的错误

更新错误html" target="_blank">消息:完整

/Users/kevin/Projects/yahooscrape/node_modules/mongodb/lib/utils.js:98process.next滴答(函数(){抛出错误; }); ^

TypeError:无法在/Users/kevin/Projects/yahoosrape/index处读取null的属性“symbol”。js:21:19在handleCallback(/Users/kevin/Projects/yahoosrape/node_modules/mongodb/lib/utils.js:96:12)在/Users/kevin/Projects/yahoosrape/node_modules/mongodb/lib/cursor。js:736:16在handleCallback(/Users/kevin/Projects/yahoosrape/node_modules/mongodb/lib/utils.js:96:12)在/Users/kevin/Projects/yahoosrape/node_modules/mongodb/lib/cursor。js:670:5在SetCursorReadandNotified(/Users/kevin/Projects/yahooscrape/node_modules/mongodb core/lib/cursor.js:154:5)的handleCallback(/Users/kevin/Projects/yahooscrape/node_modules/mongodb core/lib/cursor.js:463:3)在cursor的下一个函数(/Users/kevin/Projects/yahooscrape/node_modules/mongodb core/lib/cursor.js:644:7)上。next[as_next](/Users/kevin/Projects/yahoosrape/node_modules/mongodb core/lib/cursor.js:685:3)位于nextObject(/Users/kevin/Projects/yahoosrape/node_modules/mongodb/lib/cursor.js:655:8)

共有1个答案

颛孙炜
2023-03-14

使用cursor.for每个()代替cursor.each()。Cursor.for每个()是一个正式实现的mongoDB方法,不会抛出问题中显示的错误。

 类似资料:
  • 我想循环存储过程的结果。我的代码: 我不明白为什么这是抛出必须声明c_curs的错误: 从命令-开始中的第7行开始时出错 结束<错误报告- ORA-06550:第2行,第24列: PLS-00201:必须声明标识符C_CURS

  • 我有问题索引我的每个对象。我有一个从存储库中提取的列表,称为MonthlyAcct。我希望遍历thymeleaf html文件中的列表,并显示MonthlyAcct对象的每个属性,该对象显示为表中的可编辑输入字段。我不断收到不支持“month acct”类型索引的错误,或者当前的错误是:“bean名称”month acct[0]“的BindingResult或plain target object

  • 问题内容: 我正在尝试遍历此循环: 我在第100,000个以上的记录中收到以下错误。 这个错误是什么意思? 问题答案: 也许光标在服务器上超时了。要查看这是否是问题,请尝试将timeout = False设置为: 参见http://api.mongodb.org/python/1.6/api/pymongo/collection.html#pymongo.collection.Collection

  • 我试图在网页上打印错误loginform.html但th: each="e:${#fields.errors('email')}"th: text="${e}" 这是我的loginform.html代码 控制器代码: 使用者java代码: 错误是:此应用程序没有/Error的显式映射的白标签错误页,所以您将其视为一种回退。

  • 我在努力打字 当我保存一个实体时,有时我的数据会更新,有时不会。完全相同的请求第一次不会起作用,但第二次会起作用。我使用保存()更新和插入。插入时一切都好。 以下是我的代码(使用NestJS键入表单): == == == == 当我在save()之后找到()时,我的用户地址不会更新,而我从Mongo收到了modifiedCount 1。如果我重复这个请求,这一次它是有效的。。。 有什么想法吗?

  • 在RoboMongo(0.9.0-RC09)中运行以下mongo查询会给出正确的文档数量(使用游标计数函数),而迭代所有文档只会返回一小部分文档: 我们是否需要专门配置查询以返回所有文档?