4

想象一下,我有一个名为的类SomeClass,它有一个名为的字符串列表aStringList

public Class SomeClass{

  List<String> aStringList;

  ...

}

我想找到aStringList包含 String的 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 回答