5

私はMorphiaを使用してmongoDBにアクセスしています。内部配列の長さでオブジェクトのリストを取得する必要があります。すべてのコレクションをJavaに取得してそこでソートせずに、どのように実行できるかを知っている人はいますか?

4

3 に答える 3

4

ネストされた配列サイズで追加のフィールドを作成し、$incを使用してこのフィールドを更新する必要があります。

$whereを使用することもできますが、非常に遅いです。

次のように、ネストされた配列の長さで検索します。

db.coll.find({ $where: "this.nestedArray.length > 3" });

しかし、私が言ったように、追加のフィールドを作成する方が良いです。

于 2011-04-23T20:06:28.393 に答える
3

わかりました、見つけました:-)

dataStore.find(MyClass.class).order("-inner_array.length").asList();
トリックを行います。

于 2011-04-24T12:14:43.850 に答える