簡體   English   中英

使用Java在MongoDB中插入多個json元素

[英]Inserting multiple json element in MongoDB using Java

我想在這種結構中擁有我的mongoDB文檔...

{
    "_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”數組時遇到問題。 這些信息是從tweets(json格式)中提取的Git文件附加在此處此處的代碼請幫助我解決此問題。

如果這是您所需的數據結構:retweeted_status:[{“ text”:“ sdfsjfksdf”,“ date”:“ ISODate(” 2016-07-20T08:49:39Z“)”,“ lang”:“ 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);

從您的要點中,我發現您正在將original_tweet_info附加到original_status 其中original_tweet_info是字符串Array。 您要做的是,將值附加到retweet_status文檔中。

例:

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

將此retweet_status附加到ArrayList<Document> re_twts然后將此re_twts附加到original_status

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

暫無
暫無

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

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