0

何か間違ったことをしているのか、それともバグなのかわかりません。私は次のコードを持っています:

    Query criteria = new Query(Criteria.where("locationTime").gte(
            "date-time"));
    criteria.fields().exclude("friends");

    NearQuery query = NearQuery.near(point).maxDistance(maxDistance)
            .num(limit).query(criteria);
    GeoResults<Profile> result = mongoTemplate
            .geoNear(query, Profile.class);

距離と「locationTime」基準に従って正しく取得された近くのクエリとプロファイルを実行していますが、除外されたフィールドを無視し、友人とプロファイルを取得しているようです。

単純なクエリを使用すると、exclude/includeフィールドは完全に機能します。
どこを見ても、似たようなユースケースは見つかりませんでした。何か間違ったことをしている場合はお知らせください。

ありがとう。

4

1 に答える 1

1

geoNear私の知る限り、コマンドでフィールドを制限する方法はありません。

Spring Dataの制限を回避するために電話をかけることを検討しましexecuteCommandたが、rawコマンドからそれを実行する方法さえないようです。

于 2012-09-22T18:38:17.943 に答える