MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để nhập dữ liệu vào Mongodb từ tệp Json bằng java

Giả sử bạn có thể đọc chuỗi JSON tương ứng. Ví dụ:bạn đọc văn bản JSON đầu tiên

{ "test_id" : 1245362, "name" : "ganesh", "age" : "28", "Job" : 
   {"company name" : "company1", "designation" : "SSE" } 
}

và gán nó cho một biến (String json1), bước tiếp theo là phân tích cú pháp nó,

DBObject dbo = (DBObject) com.mongodb.util.JSON.parse(json1);

đặt tất cả dbo vào một danh sách,

List<DBObject> list = new ArrayList<>();
list.add(dbo);

sau đó lưu chúng vào cơ sở dữ liệu:

new MongoClient().getDB("test").getCollection("collection").insert(list);

CHỈNH SỬA:

Trong Phiên bản MongoDB mới nhất, bạn phải sử dụng Tài liệu thay vì DBObject và các phương pháp thêm đối tượng bây giờ trông khác. Đây là một ví dụ được cập nhật:

Nhập khẩu là:

import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

Mã sẽ như thế này (tham chiếu đến văn bản phía trên EDIT):

Document doc = Document.parse(json1);
new MongoClient().getDataBase("db").getCollection("collection").insertOne(doc);

bạn cũng có thể làm theo cách với danh sách. nhưng sau đó bạn cần

new MongoClient().getDataBase("db").getCollection("collection").insertMany(list);

Nhưng tôi nghĩ rằng có một vấn đề với giải pháp này. Khi bạn nhập:

db.collection.find()

trong mongo shell để lấy tất cả các đối tượng trong bộ sưu tập, kết quả trông giống như sau:

{ "_id" : ObjectId("56a0d2ddbc7c512984be5d97"),
    "test_id" : 1245362, "name" : "ganesh", "age" : "28", "Job" :
        { "company name" : "company1", "designation" : "SSE" 
    }
}

không hoàn toàn giống như trước đây.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb-org xung đột với mongodb-10gen-server

  2. Làm cách nào để truy vấn chính xác tài liệu được lồng trong MongoDB với python?

  3. Tôi có thể sử dụng MongoDB thay thế cho CoreData trên iOS không?

  4. Kết quả duy nhất của Rails &Mongoid

  5. Làm cách nào để tránh hai yêu cầu API đồng thời phá vỡ logic đằng sau xác thực tài liệu?