问题标签 [mongoskin]
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 - 不能在同一个 Web 请求中使用 Mongoskin 两次(NodeJS)
由于某种原因,我无法在 node.js 中的 Web 请求期间多次查询 MongoDB。VERIFY BY USERNAME 和 VERIFY BY EMAIL 都可以单独工作,但不能连续工作。如果我注释掉任一代码部分,该函数将按需要工作。如果我将这两个部分都保留在其中,则在我的 Openshift 服务器上尝试运行请求时会收到 502 代理错误。当我将多个 Mongo 查询放入一个请求中时(不仅仅是在验证时),我实际上总是得到 502。有什么办法可以解决这个问题吗?我应该使用某种异步调用吗?
node.js - MongoDB collection.save() 复制对象
我正在开发我的第一个涉及后端工作的 Web 开发项目,我正在尝试 mongoDB。我目前正在开发一个简单的管理面板,其中列出了每个用户,通过单击该用户,管理员可以进入并手动编辑他们的信息、更新并返回主用户列表以查看更改。
我正在尝试使用该方法更新现有用户,但我遇到了一个问题,它不仅会更新,还会创建具有匹配编号collection.save()
的文档的副本。_id
这是一张图片,说明了我的意思,这是我的所有更新代码:
});
我真的不确定为什么会这样。任何帮助将非常感激!
javascript - Promise 函数在不同范围内的行为不同
我使用 promise 和 mongoskin 编写了一个简单的查询函数,我想根据使用输入动态测试查询。
问题是函数getUser在不同的上下文中表现不同。关于为什么会发生这种情况的任何想法?
这是我的代码:
PS:我已经承诺了mongoskin模块
PS2:回调成功,失败只是通过console.log()打印出错误......
PS3:我使用bluebird promise & 完整代码已更新
node.js - Mongoskin 1.4.4:在聚合查询中设置 batchSize
最新 MongoDB 版本 (2.6) 中的一项更改导致游标由聚合查询返回。这非常有用,因为它允许更有效地处理非常大的查询结果集。不过,我在我的节点应用程序中使用它时遇到了麻烦。
如何使用 mongoskin 检索这批结果?
我试过了:
结果是什么:
我发现使用本机驱动程序,以下代码可以工作(使用 get 并设置 batchSize):
但它在 mongoskin 上失败了。
检索整个聚合结果是 mongoskin (下)的唯一选择还是我遗漏了什么?
javascript - 在 MongoDB 中没有按 UUID 检索文档的结果
我正在尝试从 MongoDB 检索文档。该文档具有包含二进制 UUID 的字段“ownerId”。如果我启动命令,则使用 Mongo 控制台
它返回:
当我尝试从我的 node.js 程序中检索文档时,它失败并且不返回任何文档。
我的程序是:
输出是:
我究竟做错了什么?
node.js - 如何使用 mongoskin 获取所有集合的列表
目标是使用 mongoskin 获取数据库中所有集合的列表。
我知道您可以在 mongo shell 中输入 db.getCollectionNames() 方法来执行此操作,但我还没有找到在我的应用程序中实现相同功能的方法。
我已经看过关于 SO 的类似帖子(Is there a way to list collections with mongoskin?)并尝试了发布的解决方案但没有成功。
node.js - MongoDB _id 会自动转换为 ObjectID,但有时不会。
我正在使用一个名为mongoskin的包装器来访问 mongoDB。mongoskin 是一个简单的 mongoDB javascript api 包装器。
但是当我写入 mongoDB 时,有时 _id 被转换为 ObjectID,有时不是。当我必须比较 _id 时,不同的行为会导致很多问题。例如:
公司集合中的以下文档,“创建者”不会转换为ObjectID,但“客户”中的项目会自动转换为ObjectID。
这是我用来为“创建者”分配 _id 的 nodejs 代码
这是我用来为“客户”分配_id的nodejs代码
当我 console.log "req.session.user.company_id" 和 "resultClient._id" 时,它们看起来都像字符串类型。怎么会在 MongoDB 中成为 ObjectID?如果有自动转换,如何使这种行为保持一致?
谢谢!
node.js - NodeJS / Express / MongoDB - 如何限制 POST 请求中接受的参数?
我有一个在 Express 上运行的 NodeJS 服务器。我正在使用 MongoSkin 将我的 Web 服务器连接到 MongoDB。我有以下路线:
上面创建了一个端点,它将接受 POST 请求http://domain.com/add
。现在,此端点将保存 AJAX 请求中包含的所有参数。我无法控制要保存在数据库中的键/值对。
使用 PHP,您必须在脚本中显式查找参数才能使用它们,即:
我将如何使用 NodeJS 做到这一点?
mongoskin - Mongoskin - 使用 ID 以外的参数从 Mongo DB 中删除对象
在 Mongoskin 中,我可以使用以下命令从 Mongo DB 中删除一个项目:
以上将根据用户/系统指定的_id
键删除对象。
是否有通过指定除 ? 之外的参数来删除所有对象的命令_id
?
javascript - 为什么要在 MongoDB 中显式 .open() 连接?
我有这个连接集:
然后我打开一个连接,并获取一些文件......
...但这似乎也有效,没有明确的.open()
:
问)为什么我可以/应该明确open()
连接,因为似乎只要我尝试查询集合就打开了连接?
实际上,一旦我将浏览器指向应用程序的 URL(至少根据 mongod 日志),似乎连接就打开了。