我正在使用Monger连接到Mongo。我想跑
db.collection.find().forEach(function(x) { db.collection-two.insert(...) })
我无法在Monger文档中看到相关的“每个”条目,也无法通过JavaScript传递到另一个集合中。我该怎么做呢?
编辑这个问题是基于一个误解(forEach
位于客户端API而不是服务器API上。我会删除它,但我不能。
答案 0 :(得分:5)
您可以将每个文档处理为Clojure映射的延迟序列:
(require 'monger.collection)
(doseq [x (monger.collection/find-maps "your-collection")]
;you can process x here, which is a vanilla clojure map
(println x))
您为什么要使用JavaScript?您使用的是ClojureScript,还是只考虑如何从mongodb shell编写代码?
免责声明:此处使用doseq
功能不正常,可能不是惯用的,具体取决于您要完成的工作。使用map
或reduce
可能更好,我只是想写一些与您的forEach
示例代码最匹配的内容。
相关:强>
答案 1 :(得分:3)