1

これまで MongoDb を使用したことがなく、Monger を使用したこともありません。私はClojureアプリに取り組んでいます。アップサートとして 1 つのドキュメントを追加できるようにしたいだけです。これは私のコードの一部です:

(defn convert-data-to-be-persisted [session-data]
  (convert/to-db-object session-data))

(defn persist-data-to-database [converted-document-to-persist]
  (mc/update "timeout_discovery" {:sessions converted-document-to-persist} {} :upsert true))

私はモンガーを使用しています:

http://clojuremongodb.info/

私が持っている println および timbre/spy ステートメントは、このデータを端末出力に出力しています。

persist-data-to-database: { "serverUsed" : "/127.0.0.1:27017" , "updatedExisting" : false , "upserted" : { "$oid" : "510680444077296acfa67d6b"} , "n" : 1 , "connectionId": 4、"err": null、"ok": 1.0}

コマンド ラインで MongoDb にログインすると、コレクションが空のままのようです。

db.timeout_discovery.find() { "_id" : ObjectId("51017c5fa86c7bcc3d423c4d"), "タイムアウト" : "検出" }

ドキュメントが 1 つありますが、「タイムアウト」と「検出」以外には何もありません。

私は何をすべきかを理解しようとここを見ましたが、私が試したすべてのバリエーションは失敗しました:

http://clojuremongodb.info/articles/updating.html

この行:

(convert/to-db-object session-data))

このドキュメントを返します (ただし、元のドキュメントは長く、ここに表示されている HTML で肥大化しているため、ここでは短くします):

get-data-to-be-persisted で永続化するドキュメントは次のとおりです。

http://www.super.com/mexico/bars/2012-food-drink-award-nominees-best\" class=\"fn given-name url\">2012 Food & Drink アワード ノミネート: ベスト ニュー ビア バー

\n \t\t \t\t \n \n 投票は現在締め切られています\n結果はこちらでご覧くださいレストランとバーで詳細をご覧ください

\n \t\n \t\n http://www.super.com/mexico/bars/2012-food-drink-award-nominees-best-new-beer-bar\">http://media. super.com/images/100131935/150/113/image.jpg\" /> \n \n \n \t\n \t\t

http://www.super.com/mexico/sex-dating/summer-dates-in-mexico-bars-and-restaurants\" class=\"fn given-name url\">夏のデート : Food-and-メキシコのバーやレストランでのデート

\n \t\t \t\t

セックス&デート

\n \n \n これらの夏のデートでは、メキシコのホット スポットでディナーやドリンクをお楽しみください。食べ物に夢中になっているパートナーを口説くつもりなら、今シーズンは標準的なディナーと映画を超えてください. ニューヨークでの5つの食べ物と飲み物に焦点を当てた夏のデートをチェックしてください...

\n \t\n \t\n http://www.super.com/mexico/sex-dating/summer-dates\">http://media.super.com/images/100453911/150/113/ image.jpg\" /> \n \n \n \t\n \t\t

http://www.super.com/mexico/restaurants/organic\" class=\"fn given-name url\">オーガニック

\n \t\t \t\t

フード&ドリンク、アメリカ料理、アジア料理

\n \n \n \n $\n \n \n \n \n \n https://foursquare.com/intent/venue.html\" data-context=\"vcard-Content-Venue-50137\">foursquare に保存\n \n \n \n トライベッカの熱狂的ファンは、このオーガニック ヘルス フード バーの 2 番目の場所で、健康への渇望をすべて満たすことができます。木製パネルと白と緑のカウンターを備えた明るいテイクアウト ショップでは、絞りたての新鮮な食材も提供しています。ジュースやスムージー、...

編集 \n \t \n \t\n \t\n http://www.super.com/mexico/restaurants/organic\">http://media.super.com/images/100461855/150/113 /image.jpg\" /> \n \n \n \n \t \n 275 Greenwich St, (Murray Sts と Warren Sts の間), New York, 10007\n \t \n \t \t \n \t \t平均コース: 9 ドル。アメックス、ディスク、MC、... \t \n \n http://www.super.com/mexico/restaurants/organic\">

では、なぜこれは保存されないのでしょうか?

端末出力にエラーは表示されませんが、エラーがある場合は、それをキャプチャして表示する方法について提案してください。

エラーがなければ、単に MongoDb または monger の構文が間違っているのでしょうか?

4

1 に答える 1