问题标签 [mongodb-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 投票
2 回答
92 浏览

mongodb - 在 MongoShell 中:无法连接到我的收藏,db.collection_name 返回 NaN

我正在使用 MongoDB Enterprise,MongoDB shell 版本:3.2.5

我有一个 db = mydb 和一个 collections = ['events', 'events__2015-12-01', 'events__2015-11-01']

我有一个 python/pymongo 脚本,我可以在其中连接到每个文档,但是在 mongo shell 中我无法连接到过时的集合?

换句话说

为什么这会发生在外壳中?

编辑:

注意:进一步检查Mongo 文档。明确指出带有特殊字符的集合只能通过 getCollection() 方法访问

0 投票
1 回答
1841 浏览

mongodb - 查找和更改 mongodb 集合中的所有日期类型字段

我有一个包含多个日期类型字段的集合。我知道我可以根据它们的键更改它们,但是有没有办法找到所有具有日期作为类型的字段并在一个脚本中更改所有这些字段?

更新

非常感谢chridam帮助我。根据他的代码,我想出了这个解决方案。(注意:我有 mongo 3.2.9,chridam 的答案中的一些代码片段无法运行。它可能有效,但对我不起作用。)

由于投影不起作用,我使用上面的代码来更新文档。我唯一的问题是为什么要使用 bulkWrite?

(此外, getTime() 似乎比减去日期更好。)

0 投票
1 回答
2199 浏览

mongodb - Mongodb:结合$in和$nin

在我的收藏posts中,我有这样的文件

我需要根据他们的 category_id(可以是多个 id)对一系列帖子进行一些查询,但排除其中的一些。

我试过查询(在shell中):

如果 count(),我返回 0。

但是,如果我更改 category_id 属性并删除 $in 并仅包含一个ID,则它可以工作,如下所示:

但这个解决方案只能让我找到一个类别。

我将如何以与上述相同的方式将 $in 和 $nin 与 objectId 结合起来?

0 投票
0 回答
35 浏览

mongodb - MongoDB 在选择数据并进行计数时返回不同的文档计数

在选择数据和进行计数时,我遇到了分片 mongodb 的奇怪问题。

我有

但是当我这样做时

我不确定数据是否已损坏,有什么好方法可以验证数据是否已损坏?

0 投票
1 回答
570 浏览

mongodb - MongoDB - 到 ObjectID 的字符串并创建新集合

我想将“Firmalar”集合中每个文档中的字符串字段“obj.osgbIdleri”保存为 ObjectId 字段。我想我可以使用“聚合”来做到这一点。但是当使用“聚合”时,我无法返回 foreach 中的每个对象。我想在创建新集合时创建“firmaId.id”和“firmaId.osgbIdleri.id (ObjectID)”。

0 投票
1 回答
188 浏览

alias - 如何为 Mongo Shell 定义别名

在 MongoDB Shell 中,有一个命令edit <variable>可以通过 EDITOR 指定的您喜欢的编辑器检查/修改值。

但是我怎样才能创建一个别名edit,例如e <variable>

0 投票
0 回答
31 浏览

mongodb - mongo复制到另一台服务器后字节减少

我是 MongoDB 的新手。

我使用 mongodb db.copyDatabase命令将数据库复制到另一台服务器。

复制后(我从 mongo shell 得到了 Ok 标志),我发现了一些奇怪的东西。

在我的源服务器数据库中

在我的目标服务器数据库中

我检查了我的数据库并比较了源服务器数据库和目标服务器数据库。集合数和行数相同。

我无法理解问题

0 投票
1 回答
274 浏览

mongodb - 如何根据 ObjectId (_id) 删除文档

如何编写一个 MongoDB shell 查询来返回在特定日期之后创建的所有对象的文档?

收藏品如:

退货 - 15210

退货 - 987652

谢谢!婆罗提

0 投票
2 回答
9815 浏览

mongodb - MongoDB $lookup 不使用索引

我正在编写一个需要在两个表之间进行 $lookup 的查询,据我了解,foreignField 必须有一个索引才能及时执行此连接。但是,即使在字段上添加索引后,查询仍会退回到 COLLSCAN。

这将返回:

正如我所提到的,我确实在 transactions 集合中索引了uid字段:

该查询需要几分钟才能在大约 7M 文档的数据库中运行。我正在使用 MongoDB v3.4.7。关于我可能做错了什么的任何想法?提前致谢!

0 投票
1 回答
154 浏览

mongodb - --noscripting 不会阻止脚本编写

我已经使用以下--noscripting选项启动了我的 MongoDB 服务器:

但是,我仍然可以加载 JavaScript 文件并执行其中的代码:

我假设脚本正在运行,因为它是客户端?如果是这种情况,什么决定脚本是客户端还是服务器端?如果不是,为什么脚本在运行?