問題タブ [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 に答える
231 参照

clojure - どちらが速いですか?条件fnまたはget-inでマップまたは削減しますか?

私は monger を使用しており、find-maps を使用して mongo nosql データベースからバッチを取得しています。これは、一連の関数呼び出しの下流でデータストア引数 (参照) として使用する予定の配列を返します。これらの将来の関数呼び出し内で、対応する ID にアクセスできます。この ID をルックアップとして使用してデータストア内で取得したいと考えているため、別のモンガー コールを行う必要はありません。配列の形式のデータストアは、ID でオブジェクトにアクセスする最速の方法とは思えませんが、確かではありません。

このデータストア配列からオブジェクトを派生させる必要がある場合は、次のような関数を使用する必要があります (すべての要素に対して log(n) を実行する必要があります)。

代わりに、最初の monger 呼び出しの後、次のような関数で key/val ハッシュ オブジェクトを作成します。

おそらく、その後の呼び出しで代わりに get-in を使用すると、キーでフェッチするため、はるかに高速になりますか?

get-in を使用する場合、キーと fetch_id の一致が見つかるまで、キー/val の各キーを反復処理する必要はありませんか?

get-in がすべてのキーで log(n) する必要がないのはなぜですか? map/reducing が log(n) を完全に通過しなければならない最初の「一致」を見つけたときに停止できるため、おそらくより高速です。これは、配列内の各要素を繰り返し処理し、id が fetch_id と一致するかどうかをチェックするよりも高速ですか?

私はあなたが提供できる助けにとても感謝しています.

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

mongodb - Clojure に ISODate ラッパーを追加する

Mongodb シェルの挿入で new Date() を実行すると、以下に示すように、ISODate ラッパーを使用して追加されます。

しかし、joda-timeを使用して日付をISOとしてフォーマットし、monger(Clojure Mongo Driver)を介して追加すると、次のように追加されます

ISO 形式は正しいですが、ISODate ラッパーは存在せず、mongo は何らかの理由でそれを尊重しません。2 番目のケースでは、Mongo TTL は機能しません。

clojure または monger を使用して ISODate ラッパーを日付に追加するにはどうすればよいですか?

ありがとうございました