问题标签 [mongodb-3.6]

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

ruby-on-rails - 为什么 BCrypt 不再接受哈希?

上周我将 Fedora 升级到全新的 28 版本,它附带了 mongodb 升级到 3.6。请参阅升级到 Fedora 28 后如何修复 mongodb 服务?我如何设法解决我的第一个问题,即 mongod 将不再启动。现在我在使用同一个数据库的 Rails 应用程序上面临另一个问题。

这很可能与 mongodb 升级无关,但我认为提供该上下文可能值得,并且不要因为没有提供足够的上下文而错过解决方案。

因此,由于系统升级,此 Rails 项目上的任何登录尝试都会失败并出现错误,在初始化BCrypt::Errors::InvalidHash in Devise::SessionsController#create 时引发' `。bcrypt (3.1.11) lib/bcrypt/password.rb:60:in在项目的 Rails 控制台中进一步分析,似乎对该方法的任何调用都会失败:

我尝试bundle卸载/重新安装bcrypt,甚至使用 bcrypt gem 的 github 存储库版本,但它没有改变任何东西。

查看/home/psychoslave/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/bcrypt-3.1.11/lib/bcrypt/password.rb:60:in初始化'`,问题似乎是哈希无效。

对应的测试如下:

哈希本身是通过创建的BCrypt::Engine.hash_secret(secret, BCrypt::Engine.generate_salt(cost)),在我使用的平台中调用 call __bc_crypt(secret.to_s, salt),它似乎在调用bcrypt-3.1.11/ext/mri/bcrypt_ext.c

更重要的是binding.pry,在valid_hash?方法中添加 a ,可以看到调用返回的哈希值是什么BCrypt::Password.create('TestPassword'),它实际上是一个相当长的字符串,它的开头似乎很常见,但最终得到的最有可能是错误生成的序列:

如果可能有任何兴趣,我可以提供整个哈希的转储(大约 32Ko!)。

0 投票
1 回答
203 浏览

mongodb-3.6 - Mongodb 3.6 changestream resumeToken 时间戳

我目前正在使用 MongoDB 3.6 的 changestream 功能

我们是一个繁重的更新/插入操作,我们使用 changestream 发送数据进行分析。我们需要实时同步数据,但由于 resumeToken 是二进制的,我很难找到操作的时间戳,因此无法计算分析的同步滞后。

有没有办法从 resumeToken 获取时间戳或任何其他方式来获取操作时间戳。

0 投票
1 回答
247 浏览

mongodb - Mongo 3.6:删除重复项

使用以下命令,我根据“否”字段获取集合中的所有重复值:

这将返回以下内容:

问题:在Mongo 3.6.5中删除重复项最简单快捷的方法是什么?我必须如何编辑上述命令才能实现这一点?

我尝试了以下方法,但它不起作用:

0 投票
1 回答
115 浏览

mongodb - 如何比较嵌套文档数组中的字段

当我想查询和比较嵌套文档及其在该文档中的字段时,我遇到了问题。总的来说,我有一个餐厅数据库。每个餐厅都有一个名为的文档"openingHours",其中包含一周中每一天的文档,其中包含 3 个字段

1 星期几

2 开放时间

3 关闭时间

在我的查询中,目标是比较每个文档(天)的opening timeand 。closing time

现在的问题是,当我运行查询时,我会根据里面的所有文档得到一个结果,"openingHours"并且它不会单独比较每个文档。背后的原因"$expr"是餐厅关闭的时间可以延长到 01:00,所以我们也需要检查一下。

这是我的查询:

Robo3t 的屏幕截图,以帮助说明我对文档的意思。您还可以在图像中看到,当它不对每个嵌套文档本身进行查询时会出现问题,因为时间可能每天都不同。

提前致谢!

0 投票
1 回答
138 浏览

mongodb - MongoDB changeStreams 可以监听系统级集合吗?

由于 MongoDB 变更流上可用的文档有限,他们从 3.6 版开始引入,我无法断定 MongoDB 变更流是否让我们监听系统集合更改。

目前,我对 system.profile 集合感兴趣。

0 投票
0 回答
923 浏览

mongodb-3.6 - 如何在 mongoDB v3.6.5 中使用聚合时将字符串转换为双精度

如果可能的话,我想用聚合解决这个问题,请让我知道

我用聚合试过这个:

给我错误:-

并且$toDouble()不在 mongoDB v3.6.5 中我已经在 mongodb v4 上尝试过它可以工作但在 mongodb v3.5.6 中没有

0 投票
1 回答
60 浏览

mongodb - 有没有办法在 $filter (聚合)中对字符串数组使用正则表达式

当前使用它 .find({"strings": {"$elemMatch": {"$in": [/test/si]}}}) 在“字符串”数组中查找字符串。现在我还需要在这里搜索这个字符串

---------------------------------这里

我已经尝试了很多类似的事情,例如:

我目前无法考虑如何做到这一点。在 3.6 版中有什么方法可以做到这一点吗?

如果您能以任何方式提供帮助:谢谢

问候 HM

0 投票
1 回答
414 浏览

java - 如何在 ERROR 日志级别模式下运行 mongodb 实例?

无法在 ERROR 日志级别运行 mongodb 实例。正如 mongodb 文档所定义的,默认情况下,详细程度为 0,其中包括信息消息。但是将详细程度增加到 1-5 将包括调试级别消息。我只需要在我的日志文件中记录错误消息。我目前在客户端使用带有 java 驱动程序的 mongodb-3.6.3 版本。

有什么办法吗?如果是,如何实现这一目标?我已经尝试通过在配置文件中添加 quiet = true 来减少日志。但是,仍然会生成许多不必要的日志。

0 投票
1 回答
339 浏览

node.js - Mongodb:仅当该对象的元素唯一时才将对象插入数组

我有这个收藏。我试图将 object(item = {label: "Chrome", value: "chrome"}) 添加到数组中,只有当它value是唯一的时,即插入整个对象,只有当数组item没有任何其他时与 具有相同值的对象,使用一个 MongoDB 操作foofooitem

0 投票
0 回答
60 浏览

mongodb - mongodb索引的唯一性


就1而言,Mongodb 中的唯一索引与非唯一索引有什么区别。-write performance我相信所有索引在 mongodb 中都定义为 B-tree。如果是这样,在具有一个的集合中插入性能之间是否有任何实质性差异与其他
2. read performance- 在两种类型的索引之间进行查找/读取的方式是否有任何根本区别。