您好,我使用的是 MONGODB java 驅動程式版本 4.5.1,我創建了一種方法來查詢檔案并獲取特定欄位。
(id 是不和諧的 id 而不是檔案 _id)
final MONGODB mongodb = new MONGODB();
public ArrayList<Document> getRoom(long id) {
ArrayList<Document> results = mongodb.collection.find(
new Document("id",id)
).projection(
new Document("room",1)
).into(new ArrayList<>());
System.out.println(results.size());
for (Document result : results) {
System.out.println(result);
}
return results;
}
這回傳
Document{{_id=6276ed329a9a491cc223ae32, room=pt pt pt pt pt nl pt pt pt pt pt nl pt pt pt pt pt nl pt pt pt pt pt nl pt pt pt pt pt nl}}
我希望對此進行改進,使其僅回傳 room= 的內容,而不是 _id 欄位
uj5u.com熱心網友回復:
這個術語是投影,你可以看看:https ://www.mongodb.com/docs/manual/tutorial/project-fields-from-query-results/
正如檔案所暗示的那樣;
您可以通過在投影中將 _id 欄位設定為 0 從結果中洗掉它,如下例所示:
findIterable = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), excludeId()))
uj5u.com熱心網友回復:
我通過添加
.append("id",0)到投影來改進它
public ArrayList<Document> getRoom(long id) {
ArrayList<Document> results = mongodb.collection.find(
new Document("id",id)
).projection(
new Document("room",1).append("_id",0)
).into(new ArrayList<>());
System.out.println(results.size());
for (Document result : results) {
System.out.println(result);
}
return results;
}
這現在回傳我需要的
Document{{room=pt pt pt pt pt nl pt pt pt pt pt nl pt pt pt pt pt nl pt pt pt pt pt nl pt pt pt pt pt nl}}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/470067.html
