问题标签 [mongodb-nodejs-driver]

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 投票
0 回答
69 浏览

node.js - 无法为我的集合获取 MongoDB 聚合管道的正确组总数

我正在尝试通过一个非常简单的查询来使用 MongoDB 聚合功能,但由于某种原因无法获得我正在寻找的最终结果。

我需要在我的收藏中获取记录状态的分组和总数。记录的状态 (JITM025) 可以是 1-Passed、2-Warnings 或 3-Errors。然后我想把总数加起来。分组基于唯一的组 ID (JITM002)。我能够以某种方式进行分组和排序,但是对于我的一生来说,我无法获得每个组 ID 的组总数 - 相反,我获得了每个分组中所有行的总数。

这是到目前为止我能够弄清楚的聚合管道(不确定它是否 100% 正确):

以下是我目前在 MongoDB Compass 的聚合控制台中获得的结果:

在此处输入图像描述

我得到了 2 个组的正确结果,按组 ID(750 和 751)排序。问题是没有显示每个组的总数 - 它们是所有行的总数加在一起。我需要总数与他们自己的组 ID 有关。

0 投票
1 回答
62 浏览

mongodb - 如何知道 mongodb 事务所有 CRUD 成功?

withTransaction在 nodejs 中使用来运行事务。

当我正确运行事务时,data.result.ok = 1

但是当我使用 no exist username runupdateOne时,结果仍然是1

如何验证结果?

0 投票
0 回答
29 浏览

mongodb - “MongoParseError: No username provided in authority section” 升级 STH-comet 中的 Mongodb 依赖项时发生

我正在尝试通过将 package.json 中的版本从 v2.2.35 更改为 v3.6.8 来升级 STH-Comet 中的 Mongodb 依赖项。参考:https ://github.com/telefonicaid/fiware-sth-comet/blob/master/package.json#L74

执行命令“npm install”以将 STH 组件作为 Node 应用程序启动后(参考:https ://github.com/telefonicaid/fiware-sth-comet/blob/master/doc/manuals/installation.md#cloning- the-github-repository)在调试控制台发生以下错误:“ MongoParseError:权限部分中未提供用户名”

npm install here 后的终端输出

在此处调试控制台输出

这是从 STH 到 MongoDB 的连接 URL(参考:https ://github.com/telefonicaid/fiware-sth-comet/blob/master/lib/database/sthDatabase.js#L90-L96 ):

连接网址 =

如何解决 MongoParseError: No username provided in authority 部分?

0 投票
0 回答
20 浏览

mongodb - “MongoParseError: No hostname or hostnames provided in connection string”在 STH-Comet 中升级 Mongodb 依赖项时发生

我正在尝试通过将 package.json 中的版本从 v2.2.35 更改为 v3.6.8 来升级 STH-Comet 中的 Mongodb 依赖项。参考:https ://github.com/telefonicaid/fiware-sth-comet/blob/master/package.json#L74

我已将连接字符串中的“@”替换为“%40”(参考:https ://github.com/telefonicaid/fiware-sth-comet/blob/master/lib/database/sthDatabase.js#L90-L96 )为如下图:

连接网址 =

执行命令“npm install”以将 STH 组件作为 Node 应用程序启动后(参考:https ://github.com/telefonicaid/fiware-sth-comet/blob/master/doc/manuals/installation.md#cloning- the-github-repository)在调试控制台发生以下错误:“MongoParseError:连接字符串中未提供主机名或主机名”

终端输出在这里

在此处调试控制台输出

如何解决 MongoParseError: No hostname or hostnames provided in connection string?

0 投票
1 回答
40 浏览

javascript - MongoDB 聚合以从嵌套数组中提取值并返回总计

我有这个集合结构:

我试图通过将所有进度为 100 的视频相加并根据模块中的视频数量创建一个百分比来返回每个“模块”的整体进度。例如,第一个模块应该在其中返回50 的“module_progess”,因为它完成了 1/2 个视频。

如何访问每个视频对象以进行此计算并将新字段添加到响应中?

0 投票
1 回答
60 浏览

node.js - MongoDB,通过计算其他属性来设置一个属性

所以,我正在考虑实现这样的games属性,

每次添加游戏赢/输数据时,我都想修改游戏比率。例如,如果在上面的例子中,如果玩家赢得另一场比赛,那么操作将是,

  1. 增加赢得1 _
  2. 增量播放1 _
  3. winRatio = 100 * 赢了/玩了

所以,{ $inc: { won: 1, played 1 } }还有一些其他的东西。那么,我该怎么做呢?一个明显的答案是获取数据,进行计算和发送数据。但我不想这样做。我想通过 MongoDB 方法和运算符来做到这一点。是否可以?

0 投票
0 回答
30 浏览

mongodb - mongodb 错误 - db.runCommand() 不是函数

我想使用 collmod 命令修改我的集合的验证。但是当我调用 runCommand() 函数时,它给了我错误 runCommand 不是函数。我正在尝试使用 nodejs 驱动程序进行连接

0 投票
2 回答
38 浏览

node.js - MongoDB 和 NodeJS 类型错误:mongoClient.close 不是函数

当我尝试关闭 NodeJS 和 MongoDB 集群之间的连接时,我得到 mongoClient.close 不是一个函数。请帮忙

节点 JS MongoDB 代码