问题标签 [mongo-shell]

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 回答
285 浏览

mongodb - MongoDB - 没有重复的键条目

首先,我已经阅读了这个线程,它并没有真正帮助我解决这个特定问题。我也是 MongoDB 的新手。

我的db.songs收藏中有一份文件:

我希望在密钥上不强制重复users,这样每当我按下“John”或现有用户时,我都会收到错误消息。我可以在 mongo shell 中执行此操作吗?如果可以,我如何配置我的集合以使用此行为?

一些示例代码应该给我一个重复的错误(或一些类似的错误):

先感谢您。

0 投票
5 回答
780 浏览

mongodb - 递增所有数组元素

我有这样的文件:

我想packages.number一次全部增加。可能吗?

我试过这个db.collection.update({}, {$inc: {"packages.number": 1}})但没有用。

0 投票
1 回答
436 浏览

mongodb - 如何关闭 MongoDB 路由服务器?

我运行这个脚本来设置我的路由服务器。

对于 mongod,我可以使用 --shutdown 或进入 mongo 并编写 db.shutdownServer() 但 mongos 并非如此。

有什么方法可以关机吗?谢谢你。

0 投票
2 回答
750 浏览

node.js - mongodb foreach doc 找到子集的最小值并更新它

产品和变体价格

找到所有products.Variants.Price尺寸较小的最小值并将其更新 15%

我开始了这样的事情。不确定这是否是正确的开始

0 投票
2 回答
3275 浏览

windows - 通过授权连接到 MongoDB

我在 MongoDB 中创建了以下用户

现在我正在尝试连接到我的远程 MongoDB 实例

我收到以下错误

我不确定出了什么问题。如果我在我的配置文件中禁用授权并重新启动我的副本集实例,我可以正确连接。

错误截图

解决方案:

使用以下用户角色 工作用户角色

0 投票
1 回答
4094 浏览

mongodb - db.collection.remove() 不删除文档

我有一个集合 TextDocuments

当我在 mongo shell 中运行以下查询时,我想从具有 name = doc2 的集合 TextDocuments 中删除文档

但在第二种情况下,我创建了一个 shell 脚本

使用以下命令从 mongo shell 执行此操作时

文件没有被删除。有什么解决办法吗?

0 投票
3 回答
191 浏览

regex - mongo shell 搜索类似 "/"fubak@drooop.com"/" 的值

我可能在我们的代码上放了一个错误,这基本上破坏了我们的一些数据库数据。

我们时不时地遇到他的电子邮件中带有“”的用户名,所以我们需要解决这个问题。

如何使用我的 mongo shell 在一个字段中搜索“/”fubak@drooop.com“/”之类的值?

我一直在尝试所有我能想到的组合:

或者

但似乎没有任何效果。

0 投票
1 回答
1785 浏览

mongodb - 将数据从一个集合复制到另一个集合时,MongoDB 中的 _id 字段是否会更改?

我们计划使用 MongoDB _id 作为我们将提供给客户的密钥。因此,要求是如果我们需要将数据从一个集合移动到另一个集合,则该键不应更改。将使用 db.copyDatabase() 或 mongoimport 执行复制。

将数据从一个集合复制到另一个集合的一种方法是遍历第一个集合 (C1) 中的文档并将这些文档插入到第二个集合 (C2) 中。在这种情况下,_id 应该保持不变(在 C2 中),因为它会出现在插入的文档(C1 的)中(与我们自己提供 _id 的情况相同)。

但是,如果存在复制文档的替代方式,则 _id 可能会更改,因为它取决于:

(1) UNIX 时间戳 (2) 机器标识符 (3) ProcessId

(**只有当 MongoDB 在复制时从 C1 中的文档中删除 _id 并在插入 C2 时重新生成它们时才会发生这种情况?)

无论目标集合的位置如何,我们都希望 _id 值相同:(1)在同一个数据库中(2)不同的数据库 - 相同的机器(3)不同的数据库 - 不同的机器)

谢谢

0 投票
1 回答
12137 浏览

mongodb - 无法使用命令写入模式错误,降级到兼容模式

我只是玩 mongo shell 并遇到了Cannot use commands write mode, degrading to compatibility mode.

我连接到远程 mongo 服务器(mongolab)并尝试通过我的简单脚本将新记录插入到集合中:

我运行脚本mongo script.js并得到:

怎么了?此外,当我通过mongo my.mongolab.com:port/DBname -u <dbuser> -p <dbpassword>一切正常连接后执行类似查询时。

0 投票
2 回答
1866 浏览

mongodb - 如何更新 MongoDB 文档中的文档?

}

说上面的文件正在bazars收集中。在这里,我将如何将字段从 4 设置valuekolaBazar5?