2012-09-22 97 views
0

我不知道我是否做錯了什麼或者它是一個錯誤。 我有以下代碼:彈簧數據mongoDB幾何查詢與排除字段

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字段完美地工作。
我看了看每一個地方,找不到任何類似的用例,請讓我知道如果我做錯了什麼。

謝謝。

回答

1

有沒有辦法用geoNear命令用來限制領域,據我所知。

我看着調用executeCommand試圖解決Spring Data的侷限性,但看起來他們甚至沒有辦法從raw命令中完成它。

+0

我有很多數據我想在GeoNear查詢中排除..你告訴我它必須檢索完整文檔嗎?有什麼解決辦法嗎?這樣它會嚇跑緩慢.. –

+0

你可以嘗試在常規查找語法中使用'$ near'。 http://www.mongodb.org/display/DOCS/Geospatial+Indexing#GeospatialIndexing-Querying它不能做的一切,'geoNear'可以,但如果你能滿足您的查詢到它,你可以限制領域,如您通常會找到。 –

+0

謝謝你...你是否基本上說在mongo geo附近查詢排除字段不被支持?或者這是一個春季數據問題? –