问题标签 [monger]
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.
clojure - 将 JSON 添加到 mongo 数据库中的数组
我正在尝试将 json 映射添加到我的数据库中的数组中,monger
但出现了问题。我在 monger 文档中找到了如何做到这一点,但$push
没有$addToSet
工作:
这是我的功能:
这就是我调用这个函数的方式nREPL
:
有任何想法吗?
编辑
这是我的文件drivers-collection
:
我的汽车阵列是空的,我正在尝试向其中添加车辆。
multithreading - 防止 mongodb 死于 'state should be: open'
我在多线程 clojure 应用程序中使用 mongodb,使用 monger 库,我的一个生产者线程正在死去
conn.close()
我发现了很多其他解决这个问题的方法,它们都通过在某处 删除一些调用来解决。
我有一个在启动时创建的连接,我唯一调用的地方close
是在关机期间。java驱动程序管理一个线程池,所以我也不完全确定我们在谈论什么连接。从查询返回的 DbObject 是否有自己的专用连接,而正是这个连接正在消亡?
我尝试通过指定:socket-keep-alive true
, 并明确设置:socket-timeout
为 0 (这是默认值,意味着无限制)来解决这个问题,但无济于事。
在 monger 中有一些with-open的用法,我认为这可能会导致我遇到的问题。如果有一些与 db 对象相关联的连接,在此处传递,它会被关闭,我尝试删除所有对 db 对象的重用,但这没有效果。
另一个想法是,这with-open
可能会与其中的惰性内容产生不良交互,但是将所有内容包装在 adoall
中以使其变得渴望也没有任何效果。
我正在针对副本集运行,并且我在从属 mongodb 上本地运行ReadPreference/secondary
.
关于可能出了什么问题的任何其他想法?
clojure - 哪个更快?使用条件 fn 或 get-in 映射或减少?
我正在使用 monger 并使用 find-maps 从我的 mongo nosql 数据库中获取一批。它返回一个数组,我计划将其用作函数调用链下游的数据存储参数(引用)。在这些未来的函数调用中,我将可以访问相应的 id。我希望将此 id 用作在我的数据存储中获取的查找,这样我就不必再打一个贩子电话了。数组形式的数据存储似乎不是通过 id 访问对象的最快方法......但我不确定。
如果我需要从这个数据存储数组派生一个对象,那么我需要使用这样的函数(必须在每个元素上记录(n))
相反,如果在我最初的 monger 调用之后,我使用如下函数创建一个 key/val 哈希对象:
那么也许我的后续调用可以改为使用 get-in 并且会更快,因为我将通过键获取?
我很困惑,因为:当我使用 get-in 时,它是否必须遍历 key/val has object 中的每个键,直到它找到键和 fetch_id 之间的匹配项:
为什么 get-in 不必在每个键上记录(n)?也许它更快,因为它可以在找到第一个“匹配”时停止,其中 map/reducing 必须全程通过 log(n)?这比必须遍历数组中的每个元素并检查 id 是否与 fetch_id 匹配要快得多?
我非常感谢您能提供的帮助。
java - CompilerException java.lang.ClassNotFoundException: org.bson.types 尝试使用 Monger 连接到 mongo
尝试使用 Monger 连接到 Mongo,我收到以下错误
CompilerException java.lang.ClassNotFoundException: org.bson.types
我 [com.novemberain/monger "3.1.0"]
在 project.clj 中添加了依赖项并重新安装了 lein,并尝试将 bson.types 导入为:import [org.bson.types ObjectId]。
monger 依赖项在我自动生成的 pom.xml 文件中反映为
我错过了任何依赖还是我做错了什么?.
mongodb - Monger 缺少 java.math.Bigdecimal 的编解码器
尝试使用带有浮点数/大十进制的 Monger 将文档插入到 Mongo
(mc/insert db "products" {:name "Shirt" :Price 300.00M })
并得到以下错误。
错误 compojure.api.exception - 找不到类 java.math.BigDecimal 的编解码器。
当我删除价格时,插件工作正常。我是否缺少任何编解码器依赖项或我做错了什么?谷歌搜索没有太大帮助。提前致谢。
mongodb - 在 Clojure MongoDb Driver Monger 中设置 ReadPreference
在 Monger 中使用 find-maps 时如何设置 ReadPreference?Monger 文档仅指定了 monger.query 的 with-collection 的用法,如下所示
mongodb - 与 Monger 一起运行“repairDatabase”?
是否可以使用Monger执行“repairDatabase”命令?如果有怎么办?
mongodb - monger 向量中的关键字项转换为字符串
使用 monger,我正在编写一个文档,其中包含一个带有关键字项的向量到一个集合,例如
按预期返回
但是如果我获取特定的文档,例如
关键字已更改为字符串
这是预期的行为吗?如果是,为什么?
mongodb - 在 Clojure 中添加 ISODate 包装器
当我在 Mongodb shell 的插入中执行 new Date() 时,它会被添加,如下所示,带有 ISODate 包装器。
但是当我使用 joda-time 将日期格式化为 ISO 并通过 monger(Clojure Mongo Driver) 添加它时,它被添加为
ISO 格式是正确的,但它周围没有 ISODate 包装器,mongo 出于某种原因不尊重它。Mongo TTL 在第二种情况下不起作用。
如何在 clojure 或使用 monger 中添加 ISODate 包装器?
谢谢
mongodb - 聚合不适用于 mongodb 3.6 版的 monger
Mongo 聚合框架在 3.6 版本中有一些变化 即使我们将:cursor {}作为选项传递,使用 monger 的早期聚合查询也不起作用。是否有任何解决方法,或者我们必须等待下一个贩售者发布?我们得到的错误在下面指定
MongoCommandException 命令失败,出现错误 9:服务器 localhost:27017 上的“需要'cursor'选项,带有解释参数的聚合除外”。完整的响应是 { "ok" : 0.0, "errmsg" : "'cursor' 选项是必需的,除了带有解释参数的聚合", "code" : 9, "codeName" : "FailedToParse" } com.mongodb .connection.ProtocolHelper.getCommandFailureException (ProtocolHelper.java:115)