4

SomeClassという文字列のリストを持つ というクラスがあるとしaStringListます。

public Class SomeClass{

  List<String> aStringList;

  ...

}

aStringListString を含むSomeClass のすべてのオブジェクトを見つけたいです"sillyString"

私が試してみました:

Datastore ds = Dao.instance().getDatabase();
List<String> myResults = ds.find(SomeClass.class).
field("aStringList").hasThisElement("sillyString").asList();

しかし、それは私にエラーを与えます:

com.mongodb.MongoException: invalid parameter: expected an object ($elemMatch)
4

1 に答える 1

4

使用field(...).equal(...)します(完全に一致するものを探していると仮定します)。MongoDBは、単一の値と配列内の任意の値の両方に一致します。

.hasThisElement(...)カスタムドキュメントエンティティ()のリストがあり、特定のエンティティが参照されているかどうかを確認する場合に使用@Reference List<MyEntity>します。

于 2012-11-06T00:53:35.293 に答える