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)」

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 に答える