问题标签 [node-mongodb-native]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 为什么我的 Node.js 脚本中的 MongoClient 没有完成?
我有一个一次性节点脚本,它对 MongoLab 上的 MongoDB 数据库进行了一些更改。然而,一旦它完成,它永远不会退出事件循环(我总是必须 ctrl+C 它),无论我做了多少db.close()
和db.logout()
调用。
奇怪的是,如果我启动一个本地运行实例mongod
并连接到它,脚本完成得很好,但远程连接永远不会结束。
这是我的脚本的简短版本,仍然存在问题(在命令行上将 URL 带到服务器)。这是怎么回事?
mongodb - 在 mongodb 的集合上调用 find() 函数时限制要返回的文档数
正如我的问题所暗示的,我想限制在这样find()
的集合上调用函数时显示的文档数量:
上面的代码将显示临时集合中存在的所有文档。但是有没有办法可以将显示的文档数量限制为 10?我想发送最后十份文件(我的意思是最近添加的文件)
我真的很感激任何建议。
提前非常感谢。
node.js - mongodb update multiple fields of the same row using json
i am using node.js mongodb native driver.
Let's say I have a mongodb collection called tasks , each task looks like
from user input I get a JSON object 'newData' of the form
the way I am updating my mongodb row with this newData is something like
there are only two fields here, so using $set on each pair in newData is OK, but my question is can I update the row, without having to write $set on each pair in newData, just mentioning newData once. (obviously I will keep the pair keys in newData the same as the ones is mongodb row)
node.js - 将对 DB 的引用传递到路由中不适用于我的 Node / Express 项目
我正在使用 node + express 创建一个简单的 REST API,并试图将路由逻辑与 db 逻辑分开。我在从路由访问数据库时遇到问题。
这是我的 server.js 代码:
这是 post.js 文件中的逻辑:
我认为 post 对象在从路由调用时会保留数据库引用以供使用,但出现以下错误:
谁能指出我正确的方向?非常感谢
node.js - node-mongodb-native MongoClient 意外关闭连接
我一直在寻找 mongodb 中意外关闭的连接,但只能从希望关闭连接的人那里找到问题。
我正在使用 node-mongodb-native 连接到数据库,但我不断收到看似随机的“错误:连接关闭”消息。如果我手动重试请求(浏览器刷新),则请求有效。
知道是什么原因造成的吗?是否有一些简单的选项会有所帮助?
我正在使用以下方法获取我的数据库句柄:
我正在浏览https://github.com/mongodb/node-mongodb-native/blob/master/lib/mongodb/connection/server.js但我意识到我对连接池的一般管理方式的有限理解让我感到困惑向上。我的印象是他们会在我的服务器的整个生命周期内保持打开状态。有人可以帮忙吗?
编辑:阅读 mjhm 的评论后,我开始更深入地研究 TCP keep alive。偶然发现一些网站暗示这可能是 Azure 所做的(这个问题现在被错误分类了!)。显然,Azure 负载均衡器会在活动 1 分钟后终止连接。我正在使用 Azure 网站,因此它可能适用也可能不适用,但我认为这种洞察力足以开始新的调查。更多细节在这里http://blogs.msdn.com/b/avkashchauhan/archive/2011/11/12/windows-azure-load-balancer-timeout-details.aspx
javascript - 有没有办法在 MongoDB 识别的 JSON 中表示 ISODate 和 ObjectID 字段?
我正在尝试将 JSON 文件导入节点内的 MongoDB。这是我正在尝试做的事情:
请注意,NodeJS 可以将 JSON 自动导入为 JSON,这很好,但 JSON 不处理 ISODate 或 ObjectID 之类的对象。这是我尝试导入的 JSON 数据的片段:
./data/orgs.json:
我正在为 Node.js 使用 mongodb 本机驱动程序。
我尝试使用日期的整数表示,但它不起作用。
有没有办法在 MongoDB 识别的 JSON 中表示 ISODate 和 ObjectID 字段?
node.js - node.js,node-mongodb-native,DRY 连接?
我目前在 ./routes 下的每个文件中都有以下代码。
有没有办法让我在中心位置打开这个连接?每个对象在数据库中都有自己的集合是否被普遍接受?
node-mongodb-native - 光标有问题
我尝试一个接一个地获取两个文档。出于测试目的,我将 batchSize 设置为 1。而且我无法获取第二份文件。但是,当我将 batchSize 设置为 2 时,它会毫无问题地返回第二个文档。
node.js - 处理 MongoDB 从节点断开/重新连接
当我的 MongoDB 连接空闲几分钟后,下一个请求以错误结束。从命令行mongo
客户端,它看起来像这样:
我看到了 MongoHQ 和 MongoLab 沙盒实例的问题。
由于重新连接,下一个请求顺利进行。这是我的网络应用程序中的一个问题,因为几分钟不活动后,在网络请求期间会出现此错误。有两点让我吃惊:
- MongoDB 连接如此频繁且频繁地被破坏,并且
- 驱动程序只是引发了一个异常,而不是在重新连接后自动重试(我使用的是 connect-mongo,它使用了 mongoose,而 mongoose 又使用了node-mongodb-native)。
这是其他人的经验吗?这个应该怎么处理?如果应用程序开发人员将他们的数据库操作包装在一些重试异常处理废话中,我会感到惊讶。
node.js - NodeJS 中的 MongoDB GridFS 驱动程序覆盖同名文件
我有以下使用 node-mongodb-native 的代码(删除了错误检查以保持简洁)。
如果我运行它一次它工作正常并将文件存储在 GridFS 中。
现在,如果我在我的系统上删除该文件并创建一个具有相同名称但内容不同的新文件,然后再次通过该代码运行它,它会上传它。但是,它似乎覆盖了已经存储在 GridFS 中的文件。_id
保持不变,但md5
已更新为新值。因此,即使文件不同,因为名称相同,它也会覆盖 GridFS 中的当前文件。
有没有办法上传两个同名文件?如果_id
是唯一的,为什么驱动程序仅根据文件名覆盖文件?
我在 GitHub 上发现了一个类似的问题,但我使用的是最新版本的驱动程序npm
,它完成了我上面解释的操作。