問題タブ [monger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
116 参照

clojure - キー削除!メソッドが PUT のときに呼び出される

liberator と monger を使用して、単純な REST API を構築しようとしています。

私はadvanced rest clientそれが機能するかどうかを確認するために使用しています。メソッドが:getまたはの場合:delete、それは私が望むことを完全に行います (最初にドキュメントが存在するかどうかを確認し、次に適切なアクションを実行します)。ただし、メソッドが の場合、:put作成された http 201 を吐き出すだけで、リクエストは成功したと思いますが、対応するドキュメントは削除され、更新されません。

:delete! をコメントアウトすると、行、:put! 期待どおりに動作するので、犯人は行だと推測していますが、メソッドを使用しているため、:delete! を想定して:delete!いるため、その理由はわかりません。:put手付かずのままでなければなりません。理由はありますか?

0 投票する
1 に答える
876 参照

mongodb - Clojure <-> Monger <-> MongoDB: セットの読み取りと書き込み

Mongerを使用して MongoDB にデータを保存しています。Clojure セットを保存したいと思います。セットの読み取りと書き込みは機能しますが、リストとして返されます。MongoDB は set データ型を実際にはサポートしていないので、Monger クライアントもサポートしていないのではないかと思いますが、間違っていることを願っています。

Monger に正しい型で保存したセットを返させる方法はありますか?

最小限の Leiningen の例を以下に示します (これは、最も基本的な Monger の例です)。

project.clj を編集して Monger の依存関係を追加します。

REPL を開始します。

セットを挿入して読み戻す - 見つかった値はセットではなくリストであることに注意してください。

明らかに、最後の 2 行のように結果を set に渡すことができますが、特定のキーごとにそれを呼び出す必要はありません。これを透過的に行う方法はありますか?

0 投票する
2 に答える
1154 参照

mongodb - Monger を使用した MongoDB 接続パターン

私はclojureが初めてです。

monger を介して mongodb に接続する際のイディオム/パターンはありますか?

を使用して接続および切断する必要がありますか

それぞれ。毎回 ?

接続プールから接続を再利用する方法はありますか?

0 投票する
1 に答える
75 参照

clojure - monger がリスト内のすべてのレコードではなく 1 つのレコードのみを更新する理由

エントリのリストを取り、monger を使用して mongo に保存する機能があります。奇妙なのは、指定しない限り、1 つのレコードのみが更新され、残りは無視されることmulti:trueです。モンガーがmongodbへのすべての更新を永続化するためにマルチフラグが必要な理由がわかりません。

0 投票する
0 に答える
397 参照

mongodb - Monger に Mongoose のような populate を実装する: パフォーマンスに関する考慮事項

Monger をドライバーとして使用して、MongoDB データベースの上に Clojure で Web バックエンドをプログラミングしています。

populate私は Monger が本当に好きですが、Mongoose ドライバーで非常に便利だと思った機能、つまり、クエリで基本結合をエミュレートできるようにする方法が恋しいです。

それはやや次のようになりました:

最初の質問: Monger や Clojure に似たようなものはありますか?

何も見つからなかったので、答えが「いいえ」であると仮定して、これが私がやろうとしていることです。

次の使用法で呼び出されるClojureユーティリティ関数を作成することを考えてmy-populateいます:

whereは、パス、 、およびmydocで他のコレクションへの外部参照を持つ MongoDB ドキュメントを表すマップであり、 を呼び出すと、入力されたドキュメントが返されます (実際には、それを含むチャネルである可能性が高くなります)。(:key1)(:key2 :key3)(:key2 :key4)my-populatecore.async

これを行うための私の戦略は、単純にフィールドごとに 1 つのクエリを作成することです。これは難しいことではありませんが、今はパフォーマンスの考慮事項に関心があります。

この戦略では、パフォーマンスの問題について心配する必要がありますか? それに役立つMongoDBの高度な機能はありますか?

おそらく、Mongoose が舞台裏で何をしているのかを知っている人populateが、私にいくつかの洞察を与えることができます.

0 投票する
1 に答える
559 参照

mongodb - clojure-mongerを使用してjoda.time.datetimeでmongoをクエリします

で obj をクエリしようとしたときにこのエラー コードが{$lte start $gte end}表示されました。coda.datetime でクエリを実行するサンプルを見せてもらえますか?

機能:

0 投票する
1 に答える
55 参照

mongodb - 結果を接続して保存する Monger データベース

アクセスしたい投稿のデータベースがありますが、クエリの結果もキャッシュしたいので、データベースに余分な接続を作成しません。

これまでのところ、私は次のようなものを持っています

これは、次のような結果のコレクションを返します

これを行う良い方法は、結果をシンボル (var? key? .. Clojure に適切な言葉遣いがわからない) に格納し、その var が設定されているかどうかを確認することだと思います。

開発者は通常、この状況にどのように対処しますか?

0 投票する
1 に答える
63 参照

clojure - Clojure - monger リクエストによるコードの重複を避ける

Clojure とMongerを使用しています

それは問題なく動作し、関連するコレクションごとに関数をグループ化します。したがって、すべてのファイルは次のように始まります。

もちろん、コードの重複にはそれ自体にいくつかの欠点があります。また、後で接続が適切にプールされているかどうかもわかりませんか?

どうすればこれを回避できますか? 各関数に追加の「db」パラメーターを渡すことができると思いますが、それはどこから来るのでしょうか?

プログラムの「エントリ」ファイルに db 接続を作成すると、そこからすべての関数にどのように渡すことができますか?

たとえばCompojure、さまざまなファイルにルートがあるとしましょう:

「file2」のいくつかのルートから呼び出されたいくつかの関数がデータベースにアクセスする必要があるとしましょう。この変数をそれらに渡すにはどうすればよいですか?

また、その後、たとえば、すべてのコレクションの Id でデータを取得するなど、多くの反復コードがあります...これは単純化できると思いますが、方法がわかりません。

0 投票する
0 に答える
182 参照

clojure - Clojure、Monger は最新のレコードを並べ替えて返す

automongoテスト目的でローカル レプリカ セットで呼び出されたコレクションがあり、ClojureMongerライブラリを使用してレプリカ セットの読み取りと書き込みを行っています。

データベースへの書き込みに関してはやりたいことを達成しましたが、データを読み取ろうとするときにやりたいことを達成するのに苦労しています。

私のコレクションには以下が含まれます:

そしてmongoシェルで私はこれを行うことができます:

これは正しいデータを返します。

私は次のことを試みましたMonger

(find db "automongo" {:sort -1 :limit 1})

結果としてDBCursorを返しますが、期待されるデータが含まれていないようです(私が知る限り、jsonのようなオブジェクトを期待しています)

私が間違っていることについてのアイデアはありますか?

0 投票する
1 に答える
149 参照

mongodb - monger での検索パターンの使用

次のような検索パターンを使用して、clojure から mongo db にアクセスしたいと考えています。

「画像」コレクションを含む「ソウルフライヤー」というデータベースがあり、各メンバーには、それが表す画像からのexifキーワードの配列を含む「キーワード」フィールドがあります。mongo Java シェルから自分の画像を検索するには、次のようにします。

すると、キーワード「Iain Wood」を含むすべてのエントリのリストが返されます。replでこれを行うと、これはclojureでも正常に機能します。

ただし、キーワードの部分一致を検索したい。これは、次のようなコマンドを使用して Java シェルから正常に機能します。

予想通り、「Iain」を含むキーワードを持つすべての画像が返されました。ただし、これを clojure から機能させる方法が見つかりません。

空のリストを返します

LispReader$ReaderException を返すか、repl をフリーズしてください。

単純なパターンマッチで clojure/monger を検索するにはどうすればよいですか?