node.js - 文档大小意味着 "parseError occured"?

标签 node.js mongodb

所以我有一个看起来像这样的集合:

{
 date:"20150730",
 store:"X",
 catalogue : [{...}, ..., {...}] // ~3000 items
},
{
 date:"20150807",
 store:"X",
 catalogue : [{...}, ..., {...}] // ~3000 items
},
{
 date:"20150807",
 store:"Y",
 catalogue : [{...}, ..., {...}] // ~25000 items
}

我想做的查询是:

collection.findOne({store:_store},{"sort":{'date':-1}}, function(err,doc){
    doc && console.log(doc);
    err && console.log(err);
});

我想将其翻译为“获取 _store 的最新文档”(第一个问题是我对吗?)

然后,如果我在商店 X 上尝试查询,它工作得很好,但在商店 Y 上,它会抛出我:

[Error: parseError occured]

更多信息:

Object.bsonsize(db.ZeCollection.findOne({store:"X"}))

->845994

Object.bsonsize(db.ZeCollection.findOne({store:"Y"}))

->7351092

所有文档都是有效的 JSON

Node.js 的 Mongodb 包装器是 mongojs (npm install mongojs)

您对这个问题有任何线索吗?

最佳答案

这确实是一个 mongojs 问题。

Mongojs 在检索大数据时关闭连接池。

但是好消息:Mongojs 解决了这个问题。

所以我只需要执行npm update mongojs,现在一切正常。

谢谢大家。

关于node.js - 文档大小意味着 "parseError occured"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31877324/

相关文章:

node.js - Mongoose 通过 ObjectID 引用查找

android - Firebase 云消息传递通知 key 名称

node.js - AngularJs - 使用 api-easy 测试 REST API

mongodb - 如何对mongo中的后续元素进行分组?

java - 如何使用 jax-rs 和 mongo 在 Java Web 应用程序中更快地访问数据库

node.js - save()后重新加载对象

node.js - 具有 Firebase (FCM) 推送通知的 Node js

javascript - 当 Mocha 测试失败时,它会将一个对象记录到控制台

javascript - Concat 音频文件然后调用创建文件

arrays - mongodb 匹配数组中的一个项目作为聚合管道的一部分