我有以下实体:
class Linf {
@Id
ObjectId id;
@Reference
Denied denied;
}
我想找到所有具有特定 id 的拒绝对象的 Linf。我该怎么做?此查询是否使用索引?如果可能的话,我想避免完全扫描。
谢谢。
如果您没有"拒绝"的索引,则无论哪种方式,它都将是完整的集合扫描,但这样的事情应该为您完成:
datastore.createQuery(Linf.class).field("denied").equal(new Key<Denied>(Denied.class, id)).fetch()
这对
我有用:
Denied d2 = new Denied();
d2.id = new ObjectId("52b4709f423d856472c34fa1");
List list = datastore
.createQuery(Linf.class)
.field("denied")
.equal(d2).asList();