问题标签 [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.

0 投票
1 回答
284 浏览

mongodb - 使用比较和设置的惰性评估

我正在尝试实现一个get-database函数,该函数在第一次调用 Monger 时从 Monger 检索数据库引用,记住原子中的值并在后续调用中直接返回它。我当前的代码如下所示:

let问题是即使compare-and-set!返回 false(即databaseis not ) ,该子句似乎也会被评估nil。有没有办法让这个懒惰地评估,这样我就不会受到检索 Monger 连接的惩罚,或者这种方法从根本上被误导了?

0 投票
1 回答
559 浏览

mongodb - 使用 clojure-monger 使用 joda.time.datetime 查询 mongo

尝试使用查询 obj 时收到此错误代码{$lte start $gte end},您能告诉我一些使用 coda.datetime 查询的示例吗?

功能:

0 投票
1 回答
55 浏览

mongodb - Monger 数据库连接和存储结果

所以我有一个我想访问的帖子数据库,但我也想缓存查询的结果,所以我不会与数据库建立额外的连接。

到目前为止,我有类似的东西

这会返回一个结果集合,看起来像

我认为这样做的一个好方法是将结果存储在一个符号中(var?键?..不确定 Clojure 的适当措辞是什么),然后检查是否设置了该 var。

开发人员通常如何解决这种情况?

0 投票
1 回答
63 浏览

clojure - Clojure - 避免重复代码与 monger 请求

我正在使用 Clojure 和Monger

它工作得很好,我按它们相关的集合对函数进行分组。因此,每个文件都是这样开始的:

代码复制本身当然有几个缺点。另外我不确定连接之后是否正确汇集?

我怎样才能避免这样做?我觉得我可以为每个函数传递一个额外的“db”参数,但是它来自哪里呢?

如果我在程序的“入口”文件中创建数据库连接,那么它如何从那里传递给每个函数?

例如,假设我Compojure在不同的文件中有路由:

假设从“file2”中的某些路由调用的某些函数需要访问数据库,我该如何将这个变量传递给它们?

之后我也有很多重复的代码,例如通过 Id 获取每个集合的数据......我觉得这可以简化,但我不确定如何。

0 投票
0 回答
182 浏览

clojure - Clojure, Monger 排序并返回最新记录

我有一个automongo在我的本地副本集上调用的集合用于测试目的,我正在使用 ClojureMonger库来读取和写入我的副本集。

在写入数据库方面,我已经实现了我想要的,但是在尝试读取数据时我正在努力实现我想要的。

我的收藏包含:

在 mongo shell 中我可以这样做:

它返回正确的数据。

我尝试了以下Monger

(find db "automongo" {:sort -1 :limit 1})

它返回一个 DBCursor 作为结果,但它似乎不包含预期的数据(据我所知,我期待一个 json 外观的对象)

关于我做错了什么的任何想法?

0 投票
1 回答
210 浏览

mongodb - How can I stream GridFS files to web clients in Clojure/Monger?

I have a web app using Clojure, Clojurescript, and Monger. Documents are uploaded and stored in Mongo via GridFS. The same files can be requested for download; at the moment this is accomplished by writing the file to (the server's) disk and serving it as a static file, but this is somewhat awkward; how can I serve the file represented by the GridFS object directly in Clojure/Java? Routing is handled by Ring/Compojure.

0 投票
1 回答
149 浏览

mongodb - 与 monger 一起使用搜索模式

我希望使用这样的搜索模式从 clojure 访问 mongo db:

我有一个名为“soulflyer”的数据库,其中包含一个“图像”集合,每个成员都有一个“关键字”字段,其中包含来自它所代表的图像的 exif 关键字数组。要从 mongo java shell 中搜索我自己的图像,我这样做:

我得到一个包含关键字“Iain Wood”的所有条目的列表。如果我在 repl 中这样做,这在 clojure 中也可以正常工作:

但是,我想搜索关键字的部分匹配。这在 java shell 中可以正常工作,使用如下命令:

正如预期的那样,我用包含“Iain”的关键字取回了所有图像。但是我找不到如何从 clojure 进行这项工作。

返回一个空列表

给我一个 LispReader$ReaderException 或冻结 repl。

如何让 clojure/monger 搜索简单的模式匹配?

0 投票
3 回答
1428 浏览

clojure - Clojure:地图中的聚合和计数

我想这个问题符合入门级 clojure 问题。我基本上无法多次处理 clojure 映射并提取不同类型的数据。

给定这样的地图,我试图根据多个嵌套键计算条目:

首先,我想按 a-key 值对条目进行分组:

其次,我想假设 b-keys 的值是重复的,并忽略其余的键:

然后,简单地计算 b-key 的所有实例:

当我通过 monger 获取数据时,我定义了:

然后遇到障碍:

我怎么能从这里继续?

0 投票
1 回答
317 浏览

mongodb - Clojure 中的 MongoDB ISODate 查询 (monger/clj-time)

免责声明:Clojure 菜鸟。

我正在尝试实现一个简单的get-shows函数来从 MongoDB 实例返回即将上映的节目。这将返回LazySeq长度为 3 的 a,这是我所期望的:

但是当我向查询添加过滤器参数时,它返回一个空LazySeq

我使用了错误的日期格式吗?我需要以其他方式投射date-strISODate

我完全可以存储/查询原始时间戳,特别是如果这简化了查询,但我不确定如何在clj-time......

0 投票
1 回答
114 浏览

mongodb - Clojure - Monger Operators - 缺少日期转换的多字段连接和查询支持

我在 mongo 上有一个数据集,例如:

我正在尝试使用 monger 从中获取最短日期,但没有任何运气。

我能做的最好的事情是使用以下方法得出不同的月份和年份:

结果如下:

然后我使用 clojure 库来获取最小日期。有没有直接使用monger的方法?