2

我正在使用 Clojure 和 congomongo 与 mongodb 交互。

我在集合测试中有一个具有以下结构的文档-

{:_id #<ObjectId 50e8a4de2b5e29d6f4ab3d66>, :fields {:project {:key "test"}}}

并希望根据嵌入的文档字段进行查询:key

当我运行以下 -

(fetch :test {:fields {:project {:key "test"}}})

我得到错误 -

“IllegalArgumentException 没有为键提供值:{:fields {:project {:key "test"}}} clojure.lang.PersistentHashMap.createWithCheck (PersistentHashMap.java:89)”

如果我从 tha mongodb 控制台运行以下命令,则会返回正确的文档 -

db.test.find({"fields" : {"project" : {"key" : "test"}}})

感谢您的任何建议

4

1 回答 1

1

看起来您只是缺少 :where 关键字

(fetch :test :where {:fields {:project {:key "test"}}})
于 2013-01-05T23:06:17.603 回答