问题标签 [monk]

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 投票
2 回答
1607 浏览

mongodb - 如何覆盖 MongoDB 中的文档

我有以下文档的 mongodb 集合

我正在尝试使用以下查询更新文档

该查询正在更新文档,但它正在删除联系人。如何保持原样?非常感谢您的帮助。

0 投票
1 回答
375 浏览

node.js - 如何在mongo和尚中使用$in

和尚的mongo等价代码是什么?

例如,我尝试了这个,但它返回 []:

0 投票
2 回答
1459 浏览

node.js - 为什么我不能在我的 NodeJS 应用程序中为自定义 MongoDB _id 使用字符串 uuid?

我正在开发一个带有 MongoDB 数据库的 NodeJS 应用程序(使用本机 MongoDB NodeJS 驱动程序),并且想使用一个字符串作为我的主键。

当 _id 是字符串时,此插入对我来说失败:

这段代码在我的 NodeJS 应用程序中。当我通过数据库上的 mongo shell 命令尝试相同的插入时,它工作正常。

我知道 MongoDB 主键的自定义 _id 字段必须保证是唯一的。我计划在我的代码中使用 uuid 字符串,但似乎没有字符串 _id 有效。我在这里读到https://docs.mongodb.org/manual/core/document/#field-names _id 必须是唯一的,并且可以是除数组之外的任何类型。我还查看了这个问题在 MongoDB 中创建自定义对象 ID,这是类似的,但它并没有解决我的问题。为什么我不能使用字符串作为自定义 _id 字段?

编辑:错误消息显示“[错误:传入的参数必须是 12 个字节的单个字符串或 24 个十六进制字符的字符串]”

编辑2:

这是我的完整代码:

请注意,我实际上并没有使用 http POST 中的 newContact 信息,而只是试图让示例插入工作。

这是控制台打印出的错误:

这是我的 package.json 依赖项:

p>

0 投票
0 回答
70 浏览

node.js - Nodejs express 代码在不关闭数据库的情况下不会结束

我编写了一个使用 Mongo DB 的 nodejs 代码。我在循环中插入数据,当所有内容都被插入时,代码不会退出,当我使用db.close()我的代码强制关闭数据库时,不会在数据库中写入完整数据。

有人可以提供一些帮助吗?

0 投票
1 回答
638 浏览

node.js - 和尚没有正确插入?

蒙哥:

npm 和节点:

配置文件:

我的主文件:

包.json:

我得到“文档:未定义”。有什么我想念的吗?我的 mongodb 已启动并正在运行。

0 投票
1 回答
25 浏览

mongodb - 如何检测 mongoDB 查询已获取所有记录?

我正在使用以下查询从 mongoDB 获取数据

每次我调用此查询时,它都会返回 10 条记录的数据,并且 count 是不断变化的变量,如 -30、-40 等。如何知道查询已达到最后 10 条记录?

0 投票
1 回答
120 浏览

javascript - Mongodb将文档推送到嵌套在对象值中的数组中

好的,我正在构建一个使用 nodejs 的应用程序,它有一个非常复杂的模式。这是一个看起来像这样的巨型文档的示例:

每当我尝试将新对象推入有趣时它永远不会被推!没有错误出现或任何东西。我现在用来吸引有趣的人的代码是:

0 投票
2 回答
2995 浏览

node.js - 使用 KoaJS 在 ES2015 中的类中使用带有 yield 的生成器函数

我正在尝试从构造函数调用类中的生成器函数,它运行但没有任何反应(我的 console.log 没有打印),就好像从未调用过生成器函数一样。

更新#1:

这是我的代码的更新版本。我可以使用 next() 函数访问我的 findOne 函数,但是因为我用 co-monk 包装了“用户”,所以我很难没有必要调用它。我仍然不确定为什么我需要调用 next(0) 函数 2 次才能跳过 yield 调用。

因此,当我打印“userData”的输出时,我现在变得不确定。

如果我的问题与了解产量的工作原理有关,那么指出我的方向可能会对我有所帮助。我尝试将生成器函数与类之外的 yield 调用一起使用,并且它与僧侣/合僧侣一起工作得很好。

更新#2:

我还应该提到我正在使用 babel6 进行成绩单。

0 投票
2 回答
157 浏览

node.js - mongoDB 对象在 node.js 的其他模块中不可用

我正在尝试创建一个基于 node.js 的网站,我将在其中将信息保存在 mongodb

我的 APP.JS 文件如下

我在路由目录中的 INDEX.JS 文件如下所示

我已经使用命令提示符创建了用户集合

查询它使用

并收到结果为

但是当我尝试使用查看此浏览器的输出时

http://localhost:3000/userlist

然后我收到以下错误

当我做

然后在控制台上显示未定义,在浏览器上也显示 db 'undefined' 表示APP.JS 中的 db 对象在 ROUTES/INDEX.JS 中不可用

我对所有这些东西都很陌生,所以需要你的帮助。

此致

0 投票
1 回答
1403 浏览

mongodb - 使用 MongoDB 字段的值来更新另一个字段

我有一个结构如下的 MongoDB 文档:

我想设置testValue为 0 和maxValue. 理想情况下,我会做这样的事情:

但这显然行不通。有一些线程与这个问题相关(例如Update MongoDB field using value of another field),但它们都有几年的历史了,我在官方文档中找不到相关信息。有没有办法做我想做的事,还是我必须使用 find() 来获取maxValue然后使用 update() 对数据库进行单独调用?