2013-08-27 79 views
3

我的代碼是刪除_id

DBCollection collection = db.getCollection("volume"); 
    DBCursor cursor = collection.find(); 
    DBObject resultElement = cursor.next(); 
    Map resultElementMap = resultElement.toMap(); 
    System.out.println(resultElementMap); 

,其結果是:

{_id = 521b509d20954a0aff8d9b02,標題= { 「文」: 「卷工作 訂單」, 「x」:-20.0} xAxis = {「title」:{「text」:「2012」}, 「categories」:[「Jan」,「Feb」,「Mar」,「Apr」 ,「Jun」,「Jul」 ,「Aug」,「Sep」,「Oct」,「Nov」,「Dec」]},yAxis = {「min」:1000.0, 「max」:7000.0「title 「:{」text「:」Volume(K)「}, 「plotLines」:[{「{標籤」:{「text」:「平均」,「x」:25.0},「顏色」:「黑色」, 「width」:2.0,「value」:30.0,「dashStyle 「:」solid「}]},legend = {」backgroundColor「:」#FFFFFF「,」reversed「:true},series = [{」name「 :」Volume「,」showInLegend「:false, 「:[2909.0,3080.0,4851.0 ,3087.0,2960.0,2911.0,1900.0,3066.0,3029.0,5207.0,3056.0,3057.0]}]}

我需要從結果中移除_id。我知道我需要玩弄collection.find(),但請任何人都可以幫助我?我沒能獲得sesired結果

回答

5

兩個選項:

您可以從創建的地圖中刪除「_id」字段:

... 
resultElementMap.remove("_id"); 
System.out.println(resultElementMap); 

或者,你可以要求查詢結果不包括_id字段:

DBObject allQuery = new BasicDBObject(); 
DBObject removeIdProjection = new basicDBObject("_id", 0); 

DBCollection collection = db.getCollection("volume"); 
DBCursor cursor = collection.find(allQuery, removeIdProjection); 
DBObject resultElement = cursor.next(); 
Map resultElementMap = resultElement.toMap(); 
System.out.println(resultElementMap); 

有關所有詳細信息,請參閱projections的相關文檔。

+0

真棒..作品像魅力..謝謝很多兄弟... – user2572739