Załóżmy, że możesz odczytać odpowiednio ciąg JSON. Na przykład czytasz pierwszy tekst JSON
{ "test_id" : 1245362, "name" : "ganesh", "age" : "28", "Job" :
{"company name" : "company1", "designation" : "SSE" }
}
i przypisać go do zmiennej (String json1), następnym krokiem jest jej parsowanie,
DBObject dbo = (DBObject) com.mongodb.util.JSON.parse(json1);
umieść wszystkie dbo na listę,
List<DBObject> list = new ArrayList<>();
list.add(dbo);
następnie zapisz je w bazie danych:
new MongoClient().getDB("test").getCollection("collection").insert(list);
EDYCJA:
W najnowszej wersji MongoDB musisz używać dokumentów zamiast DBObject, a metody dodawania obiektu wyglądają teraz inaczej. Oto zaktualizowany przykład:
Importowane są:
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
Kod powinien wyglądać tak (odnosząc się do tekstu nad EDYCJĄ):
Document doc = Document.parse(json1);
new MongoClient().getDataBase("db").getCollection("collection").insertOne(doc);
możesz to również zrobić tak, jak z listą. ale wtedy potrzebujesz
new MongoClient().getDataBase("db").getCollection("collection").insertMany(list);
Ale myślę, że z tym rozwiązaniem jest problem. Kiedy piszesz:
db.collection.find()
w powłoce mongo, aby pobrać wszystkie obiekty w kolekcji, wynik wygląda następująco:
{ "_id" : ObjectId("56a0d2ddbc7c512984be5d97"),
"test_id" : 1245362, "name" : "ganesh", "age" : "28", "Job" :
{ "company name" : "company1", "designation" : "SSE"
}
}
co nie jest dokładnie takie samo jak wcześniej.