我有运行和使用 morphia 的 mongodb。
有一个BatchData
文档集合,需要过滤掉一些字段值。
这是实体:
@Entity
public class BatchData {
@Id private ObjectId id;
public int val1;
public int val2;
public String uuid;
}
如果val1
等于val2
,则查询应返回uuid
这是最简单的,但它当然不起作用:
Query<BatchData> q = mongo.createQuery(BatchData.class).field("val1").equal("val2");
List<BatchData> entities = q.asList();
或者
Query<BatchData> q = mongo.createQuery(BatchData.class).field("val1").equal(BatchData.class.val2)
可能有 100 万个或更多BatchData
文档,所以我只能出于性能原因
返回。uuid
一直在阅读 wiki,但无法理解或看到两个成员字段的过滤器
Morphia wiki