我正在使用Clojure和congomongo与mongodb互动。
我在集合测试中有一个文档,其结构如下 -
{:_id #<ObjectId 50e8a4de2b5e29d6f4ab3d66>, :fields {:project {:key "test"}}}
并希望根据嵌入的文档字段进行查询:key
当我运行以下内容时 -
(fetch :test {:fields {:project {:key "test"}}})
我收到了错误 -
“IllegalArgumentException没有为key提供的值:{:fields {:project {:key”test“}}} clojure.lang.PersistentHashMap.createWithCheck(PersistentHashMap.java:89)”
如果我从tha mongodb控制台运行以下命令,则会返回正确的文档 -
db.test.find({"fields" : {"project" : {"key" : "test"}}})
感谢您的任何建议
答案 0 :(得分:1)
看起来你只是错过了:where keyword
(fetch :test :where {:fields {:project {:key "test"}}})