0

特定のドキュメント内の個別のフィールドのリストを繰り返し処理したいと思います。MongoDBコマンドラインを使用すると、次のような操作を行うことで、必要なもの取得できます。

db.MyDoc.distinct("someField")

...すべての結果を巨大なBSONとして返すことを除いて。

Morphiaでこれを行い、さらにそれをとして返す方法はありIterableますか?そうすれば、すべての結果が一度にメモリに読み込まれることはありませんか?

distinct()これは、ある種のメモリ内ハッシュマップとして実装されていると思います。これは、結果を少しずつ繰り返して、すべてを一度にメモリに保存することを回避しようとしても意味がないことを意味します。

4

2 に答える 2

3

これがモルヒネによってサポートされている場合でも、distinctの結果は単一の(bson)ドキュメントであり、結果フィールドにdistinct値の配列があります。基本的には、完全にメモリに読み込む必要があります。

于 2011-02-17T08:32:50.603 に答える
2

これは現在、モルヒネではサポートされていません。視聴できる機能リクエストhttp://code.google.com/p/morphia/issues/detail?id=219&colspec=ID%20Type%20Stars%20Status%20Priority%20Milestone%20Owner%20Summaryがあります。

于 2011-02-16T21:34:33.563 に答える