JSON文字列をそれぞれ読み取ることができるとします。たとえば、最初のJSONテキストを読みます
{ "test_id" : 1245362, "name" : "ganesh", "age" : "28", "Job" :
{"company name" : "company1", "designation" : "SSE" }
}
それを変数(String json1)に割り当てます。次のステップは、それを解析することです。
DBObject dbo = (DBObject) com.mongodb.util.JSON.parse(json1);
すべてのdboを配置します リストに、
List<DBObject> list = new ArrayList<>();
list.add(dbo);
次に、それらをデータベースに保存します:
new MongoClient().getDB("test").getCollection("collection").insert(list);
編集:
最新のMongoDBバージョンでは、DBObjectの代わりにDocumentsを使用する必要があり、オブジェクトを追加する方法が異なって見えるようになりました。更新された例は次のとおりです:
インポートは次のとおりです:
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
コードはこれを望みます(編集の上のテキストを参照):
Document doc = Document.parse(json1);
new MongoClient().getDataBase("db").getCollection("collection").insertOne(doc);
リストを使ってそれを行うこともできます。しかし、あなたは必要です
new MongoClient().getDataBase("db").getCollection("collection").insertMany(list);
しかし、私はこの解決策に問題があると思います。入力する場合:
db.collection.find()
コレクション内のすべてのオブジェクトを取得するためのmongoシェルでは、結果は次のようになります。
{ "_id" : ObjectId("56a0d2ddbc7c512984be5d97"),
"test_id" : 1245362, "name" : "ganesh", "age" : "28", "Job" :
{ "company name" : "company1", "designation" : "SSE"
}
}
これは以前とまったく同じではありません。