问题标签 [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.

0 投票
1 回答
84 浏览

node.js - 不能在同一个 Web 请求中使用 Mongoskin 两次(NodeJS)

由于某种原因,我无法在 node.js 中的 Web 请求期间多次查询 MongoDB。VERIFY BY USERNAME 和 VERIFY BY EMAIL 都可以单独工作,但不能连续工作。如果我注释掉任一代码部分,该函数将按需要工作。如果我将这两个部分都保留在其中,则在我的 Openshift 服务器上尝试运行请求时会收到 502 代理错误。当我将多个 Mongo 查询放入一个请求中时(不仅仅是在验证时),我实际上总是得到 502。有什么办法可以解决这个问题吗?我应该使用某种异步调用吗?

0 投票
1 回答
840 浏览

node.js - MongoDB collection.save() 复制对象

我正在开发我的第一个涉及后端工作的 Web 开发项目,我正在尝试 mongoDB。我目前正在开发一个简单的管理面板,其中列出了每个用户,通过单击该用户,管理员可以进入并手动编辑他们的信息、更新并返回主用户列表以查看更改。

我正在尝试使用该方法更新现有用户,但我遇到了一个问题,它不仅会更新,还会创建具有匹配编号collection.save()的文档的副本。_id这是一张图片,说明了我的意思,这是我的所有更新代码:

});

我真的不确定为什么会这样。任何帮助将非常感激!

0 投票
0 回答
181 浏览

javascript - Promise 函数在不同范围内的行为不同

我使用 promise 和 mongoskin 编写了一个简单的查询函数,我想根据使用输入动态测试查询。

问题是函数getUser在不同的上下文中表现不同。关于为什么会发生这种情况的任何想法?

这是我的代码:

PS:我已经承诺了mongoskin模块

PS2:回调成功失败只是通过console.log()打印出错误......

PS3:我使用bluebird promise & 完整代码已更新

0 投票
0 回答
390 浏览

node.js - Mongoskin 1.4.4:在聚合查询中设置 batchSize

最新 MongoDB 版本 (2.6) 中的一项更改导致游标由聚合查询返回。这非常有用,因为它允许更有效地处理非常大的查询结果集。不过,我在我的节点应用程序中使用它时遇到了麻烦。

如何使用 mongoskin 检索这批结果?

我试过了:

结果是什么:

我发现使用本机驱动程序,以下代码可以工作(使用 get 并设置 batchSize):

但它在 mongoskin 上失败了。

检索整个聚合结果是 mongoskin (下)的唯一选择还是我遗漏了什么?

0 投票
1 回答
608 浏览

javascript - 在 MongoDB 中没有按 UUID 检索文档的结果

我正在尝试从 MongoDB 检索文档。该文档具有包含二进制 UUID 的字段“ownerId”。如果我启动命令,则使用 Mongo 控制台

它返回:

当我尝试从我的 node.js 程序中检索文档时,它失败并且不返回任何文档。

我的程序是:

输出是:

我究竟做错了什么?

0 投票
1 回答
502 浏览

node.js - 如何使用 mongoskin 获取所有集合的列表

目标是使用 mongoskin 获取数据库中所有集合的列表。

我知道您可以在 mongo shell 中输入 db.getCollectionNames() 方法来执行此操作,但我还没有找到在我的应用程序中实现相同功能的方法。

我已经看过关于 SO 的类似帖子(Is there a way to list collections with mongoskin?)并尝试了发布的解决方案但没有成功。

0 投票
1 回答
891 浏览

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?如果有自动转换,如何使这种行为保持一致?

谢谢!

0 投票
1 回答
444 浏览

node.js - NodeJS / Express / MongoDB - 如何限制 POST 请求中接受的参数?

我有一个在 Express 上运行的 NodeJS 服务器。我正在使用 MongoSkin 将我的 Web 服务器连接到 MongoDB。我有以下路线:

上面创建了一个端点,它将接受 POST 请求http://domain.com/add。现在,此端点将保存 AJAX 请求中包含的所有参数。我无法控制要保存在数据库中的键/值对。

使用 PHP,您必须在脚本中显式查找参数才能使用它们,即:

我将如何使用 NodeJS 做到这一点?

0 投票
1 回答
1185 浏览

mongoskin - Mongoskin - 使用 ID 以外的参数从 Mongo DB 中删除对象

在 Mongoskin 中,我可以使用以下命令从 Mongo DB 中删除一个项目:

以上将根据用户/系统指定的_id键删除对象。

是否有通过指定除 ? 之外的参数来删除所有对象的命令_id

0 投票
1 回答
58 浏览

javascript - 为什么要在 MongoDB 中显式 .open() 连接?

我有这个连接集:

然后我打开一个连接,并获取一些文件......

...但这似乎也有效,没有明确的.open()

问)为什么我可以/应该明确open()连接,因为似乎只要我尝试查询集合就打开了连接?

实际上,一旦我将浏览器指向应用程序的 URL(至少根据 mongod 日志),似乎连接就打开了。