簡體   English   中英

使用 Spring 數據 MongoDB 中的 MongoTemplate 進行查找查詢時,僅投影某些字段?

[英]Project only certain fields when using MongoTemplate from Spring Data MongoDB for a find query?

我想知道,如果可能的話,我如何使用 mongoTemplate 使用mongoTemplate數據 MongoDB 執行查找查詢,但不返回整個文檔? 使用來自 MongoDB 的“本機”Java 同步驅動程序,我可以這樣做:

Document document = myCollection.find(eq("something", 12)).sort(descending("field")).limit(1).projection(include("field")).first();

以便document僅包含“字段”而沒有其他內容。

我怎么能對mongoTemplate做同樣的事情,因為在使用mongoTemplate.findOne(..)時我似乎找不到類似於projection的東西。 您是否需要使用聚合管道來使用mongoTemplate執行此操作?

我正在使用 Spring 數據 MongoDB 版本 3.0.1.RELEASE(彈簧啟動 2.3.3)。

您可以在查詢中使用include()exclude()選項。

前任:

Query query = new Query();
query.fields().include("name").exclude("id");
List<User> john = mongoTemplate.find(query, User.class);

文檔參考: data/mongodb/core/query/Field

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM