Các kiểu Java gốc (int
, float
, String
, Date
, Map,
vv) sẽ được mã hóa tự động thành loại BSON phù hợp, vì vậy bạn có thể sử dụng BasicDBObject
để đặt Map
vào thẳng bộ sưu tập mongo:
// you probably want to be more specific with your generics than Object!
Map<Object,Object> map = new HashMap<Object,Object>();
map.put("1", "Department A");
map.put("2", "Department B");
collection.insert(new BasicDBObject(map));
Tuy nhiên, có vẻ như Map
của bạn không thực sự có cấu trúc mà bạn muốn, vì vậy bạn cần một số loại ánh xạ tới cấu trúc mong muốn. Sử dụng ánh xạ cơ bản được tích hợp trong trình điều khiển java (bạn đang đi đúng hướng bằng cách gọi BasicDBObject.put
và tại đây
là một số ý tưởng khác), hoặc sử dụng thứ gì đó như Morphia để lập bản đồ mở rộng.