0

最初の値を mongodb に挿入することしかできません。コードを編集して、ループからすべての値を mongodb に挿入するにはどうすればよいですか。以下は私のコードです。

public class FormatDriver extends Configured implements Tool{
    //my code
    public static void main(String[] args) throws Exception {

        try{
            /*connection Mongodb*/

            while((clusterdata = cluster.readLine())!= null){
             String[] str_array = clusterdata.split("\\[");
             String star_tstr = str_array[0];
             String end_str = str_array[1]; 

             String end_array[] = end_str.split(",");

            BasicDBObject book = new BasicDBObject();   

             for(int k=0 ; k < doc_array.length ; k++){
            /*Formating the output*/
                 if(k%2 == 0){
                     if(end_array[0].equals(doc_array[k])){
                         end_array[0] = doc_array[k+1]; 
                book.put("docname",end_array[0]);  //value1
                         book.put("clusterno",star_tstr );  //value 2
                         books.insert(book);
                             /*Retrieve*/

                         DBCursor cursor = books.find(book);   
                         while(cursor.hasNext())    
                               {    
                                  System.out.println("in mongo while");
                                  System.out.println(cursor.next());   

                               }
                    }
                    }
                    }
                    }
                    }

                    }

すべての値を mongodb に入力する方法を誰か教えてもらえますか? コードに何か問題がありますか?

4

1 に答える 1

0

私は答えを見つけましたJSONオブジェクトでそれらをラップするだけで

BasicDBObject out = new BasicDBObject();
                 out.put("final",jsonobj );
                 collection.insert(out);
于 2013-10-08T06:45:54.950 に答える