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

mongodb - 使用 monger 时,是否需要为每个请求提供连接?

在文档中,mongodb 连接建立一次,在使用之前没有将连接传递给每个命令,这是使用 monger 的正确方法,还是应该将数据库连接传递给每个调用?

0 投票
2 回答
657 浏览

heroku - 在 Heroku 的 Compojure 应用程序中,哪里可以放置商贩连接?

我使用lein new compojure mongotestlein 2.0 和 Procfile创建了一个组合应用程序web: lein ring server-headless $PORT。这工作正常,但现在当我添加

当我尝试git push heroku masterHeroku 最终给了我

我在顶层添加了这些行handler.clj。我看到的一些旧文档是在 中创建的main,但这一定是针对旧版本的 compojure,因为main在生成的应用程序中不再存在(我发现)。在当前版本中应该在哪里建立连接?(或者我的 Procfile 不对?)

(是的,MONGOLAB_URI在 中定义heroku config

0 投票
2 回答
372 浏览

mongodb - How can I execute a Mongo `forEach` (or run my own JS) with Monger?

I'm using Monger to connect to Mongo. I want to run

I can't see a relevant 'for each' entry in the Monger docs or a way to pass in JavaScript to insert into another collection. How do I do this?

EDIT this question was based on a misunderstanding (forEach lies in the client API not on the server API). I would delete it but I can't.

0 投票
1 回答
116 浏览

clojure - 键删除!当方法为 PUT 时调用

我正在尝试使用 liberator 和 monger 构建一个简单的 rest api:

我正在用advanced rest client它来看看它是否有效。如果方法是:getor :delete,它完全符合我的要求(它首先检查文档是否存在,然后执行适当的操作)。但是,如果方法是:put,它只是简单地吐出http 201 created,我认为请求成功,但是相应的文档被删除,没有更新。

如果我注释掉 :delete! 线,:put!是按预期工作的,所以我猜罪魁祸首是这:delete!条线,但我不知道为什么,因为因为我使用的是:put方法,所以我假设:删除!应该保持不变。知道为什么吗?

0 投票
0 回答
181 浏览

mongodb - 如何在monger中批量操作?

我正在从 monger 查询一个 mongo 集合,执行如下操作:

然后我像这样迭代生成的光标:

似乎monger 在doseq 循环开始迭代之前实现了集合中的全部1000 个项目。我正在寻找一种方法来开始对返回的批次中的项目进行操作(即:获取 10 个项目,(做某事),获取下一个 10 个项目,(做某事)等)。

任何这样做的提示将不胜感激!

0 投票
1 回答
876 浏览

mongodb - Clojure <-> Monger <-> MongoDB:读写集合

我正在使用Monger在 MongoDB 中存储数据。我想存储一个 Clojure 集。读取和写入集合确实有效,但它以列表的形式返回。我怀疑 MongoDB 实际上并不支持 set 数据类型,所以 Monger 客户端也不支持,但希望我错了。

有什么方法可以让 Monger 以正确的类型返回我存储的集合吗?

下面是最小的 Leiningen 示例(这只是最基本的 Monger 示例):

编辑 project.clj 以添加 Monger 依赖项:

启动 REPL:

插入并读回一个集合 - 注意找到的值是一个列表,而不是一个集合:

显然我可以将结果传递给设置,就像最后两行一样,但我不想为每个特定的键调用它。有没有办法让这种情况透明地发生?

0 投票
2 回答
1154 浏览

mongodb - 使用 Monger 的 MongoDB 连接模式

我是clojure的新手。

通过 monger 连接到 mongodb 是否有任何成语/模式?

我是否必须使用连接和断开连接

分别。每一次 ?

有没有办法可以重用连接池中的连接?

0 投票
2 回答
365 浏览

mongodb - Monger Clojure 上的“共享”连接

我今天从monger开始,文档使用如下示例:

所有文档示例都使用该结构。始终连接到 MongoDB,然后在mc/insert ...上使用db 。问题是,我怎样才能把这段代码放在一个函数上,并在我执行 mongodb 查询的函数中使用它,而不是一直重复下面的代码:

谢谢。

0 投票
1 回答
75 浏览

clojure - 为什么monger只更新一条记录而不是列表中的所有记录

我有一个函数,它接收条目列表并使用 monger 将其保存到 mongo。奇怪的是,除非我指定,否则只会更新一条记录,其余记录将被忽略multi:true。我不明白为什么 monger 需要 multi 标志来持久化对 mongodb 的所有更新。

0 投票
0 回答
397 浏览

mongodb - 为 Monger 实现类似 Mongoose 的填充:性能注意事项

我正在使用 Monger 作为驱动程序的 MongoDB 数据库顶部的 Clojure 中编写 Web 后端。

我真的很喜欢 Monger,但我错过了一个我发现在 Mongoose 驱动程序中非常有用的功能:populate使我能够在查询中模拟基本连接的方法。

它有点像这样:

所以第一个问题:Monger 或 Clojure 有什么类似的吗?

我没有找到任何东西,所以假设答案是否定的,这就是我打算做的。

我正在考虑my-populate使用以下用法调用 Clojure 实用程序函数:

wheremydoc是一个表示 MongoDB 文档的映射,该文档在 paths和(:key1),和调用中返回其他集合的外部引用(嗯,更可能是一个包含它的通道,说实话)。(:key2 :key3)(:key2 :key4)my-populatecore.async

我这样做的策略只是对每个字段进行一次查询,这并不难,但现在我关心的是性能方面的考虑。

我应该担心这种策略的性能问题吗?是否有一些 MongoDB 高级功能可以帮助它?

也许知道猫鼬populate在幕后做什么的人可以给我一些见解。