1

私は次のエンティティを持っています:

class Linf {
     @Id
     ObjectId id;
     @Reference
     Denied denied;
}

特定の ID を持つ拒否されたオブジェクトを持つすべての Linfs を検索したいと考えています。これどうやってするの?このクエリはインデックスを使用しますか? できればフルスキャンは避けたい。

ありがとう。

4

2 に答える 2

0

これは私のために働く:

    Denied d2 = new Denied();
    d2.id = new ObjectId("52b4709f423d856472c34fa1");

    List list = datastore
            .createQuery(Linf.class)
            .field("denied")
            .equal(d2).asList();
于 2013-12-21T14:50:16.967 に答える
0

「拒否」のインデックスがない場合は、いずれにしても完全なコレクション スキャンになりますが、次のような方法で行う必要があります。

datastore.createQuery(Linf.class).field("denied").equal(new Key<Denied>(Denied.class, id)).fetch()
于 2013-12-18T19:00:29.490 に答える