2016-10-04 59 views
0

我想有我MongoDB的文檔在這個結構中的MongoDB多個JSON元素...插入使用Java

{ 
    "_id" : ObjectId("578f547790ee5304306404ea"), 
    "status" : " que faire?", 
    "Likes" : 0, 
    "created_at" : ISODate("2016-07-20T08:49:39Z"), 
    "UniqueID" : "456511553", 
    "screen_name" : "xtraloveable1", 
    "Name" : "AmirGloir&Beauté", 
    "lang" : "fr", 
    "statuses_count" : 2914, 
    "friends_count" : 41, 
    "followers_count" : 47, 
    "Description" : "Je pense donc je twitte...", 
    "locationGEO" : "38000", 
    "Timezone" : null, 
    "Hashtags" : [ ], 
    "User_Mention" : [ 
      "CouponNetworkFR" 
    ], 
    retweeted_status[ 
     { 
      "text":"sdfsjfksdf", 
      "date":"ISODate("2016-07-20T08:49:39Z")", 
      "lang":"fr" 
     } 
    ]} 

我嘗試,直到user_mention但我有一個問題,在創建「retweeted_status」陣列。 這些信息是從推文中提取的(json格式) Git文件附在這裏Code Here 請幫我解決這個問題。

+0

問題是什麼? – Backtrack

+0

它以這種格式插入「Retweeted_status」:[ 「status:#Damasco ha l'audio」「 」created_at:Tue Sep 27 23:09:45 BST 2016「, 」lang:fr「 ]正確的一個 – prabhu

回答

0

從您的要點,我發現要附加到original_tweet_infooriginal_statusoriginal_tweet_info是一個字符串數組。你需要做的是,將這些值附加到retweet_status文檔中。

例子:

  retweet_status.add("Status:"+text); 
      retweet_status.add("created_at:"+dd); 
      retweet_status.add("retweetCount:"+retweetCount); 
      retweet_status.add("Likes:"+Likes); 

追加這個retweet_statusArrayList<Document> re_twts 然後追加該re_twtsoriginal_status

ArrayList<Document> re_twts = new ArrayList<Document>(); 
re_twts.append(retweet_status); 
..... 
.... 
original_status.append("Retweeted_status", re_twts); 
+0

非常感謝! – prabhu

0

如果這是你所需的數據結構: retweeted_status: { 「文本」: 「sdfsjfksdf」, 「日期」: 「ISODate(」 2016-07-20T08:49:39Z 「)」, 「郎」: 「FR」 } ]

那麼你的代碼應該是這樣的,

ArrayList<String> original_tweet_info = new ArrayList<String>(); 
    //create document 
     Document original_tweet_info_object = new Document(); 
     original_tweet_info_object.append("created_at:"+dd); 
     original_tweet_info_object.append("retweetCount:"+retweetCount); 
     original_tweet_info_object.append("Likes:"+Likes); 
     original_tweet_info_object.append("TimeZone:"+timezone); 

//add document in list of document 
original_tweet_info.add(original_tweet_info_object); 

original_status.append( 「Retweeted_status」,original_tweet_info);

//插入NEW_STATUS到labTweets收集

 collection.insertOne(original_status); 
+0

@拉達克裏希南original_tweet_info.add(original_tweet_info_object);引發我一個錯誤 – prabhu

+0

請正確校驗碼,original_tweet_info是ArrayList的,並original_tweet_info_object是文件,因此添加文件到ArrayList中,不會引發錯誤 – radhakrishnan

+0

謝謝。這麼多!!!我用Original_tweet_info作爲字符串列表,這就是爲什麼它會拋出一個錯誤 – prabhu