問題タブ [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.
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 と一致するかどうかをチェックするよりも高速ですか?
私はあなたが提供できる助けにとても感謝しています.
mongodb - Clojure に ISODate ラッパーを追加する
Mongodb シェルの挿入で new Date() を実行すると、以下に示すように、ISODate ラッパーを使用して追加されます。
しかし、joda-timeを使用して日付をISOとしてフォーマットし、monger(Clojure Mongo Driver)を介して追加すると、次のように追加されます
ISO 形式は正しいですが、ISODate ラッパーは存在せず、mongo は何らかの理由でそれを尊重しません。2 番目のケースでは、Mongo TTL は機能しません。
clojure または monger を使用して ISODate ラッパーを日付に追加するにはどうすればよいですか?
ありがとうございました