Java中将JSON字符串数组存入MongoDB
- 使用inserMany()直接批量插入JSON字符串数组时,需要将JSON字符串数组转换成BasicBSONList或者BasicDBList 类型的集合,然后使用循环遍历将集合中的对象转成Document类型,另存入一个list,然后把该list传入inserMany()方法即可。
MongoCollection collection1= MongoDButils.getCollection("admin","userinfo");
//存有三个对象的JSON格式的list
String json="[{\"uid\":1,\"sn\":\"123456\",\"password\":\"123456\",\"status\":0},
{\"uid\":1,\"sn\":\"123456\",\"password\":\"123456\",\"status\":0},
{\"uid\":1,\"sn\":\"123456\",\"password\":\"123456\",\"status\":0}]";
BasicBSONList dblist= (BasicBSONList) JSON.parse(json);
List<Document> list1= new ArrayList<>();
Iterator it1=dblist.iterator();
while (it1.hasNext()) {
//将 BasicBSONList 中的JSON转成 Document 类型放入新的list
Document dc=new Document((Map<String, Object>) it1.next());
list1.add(dc);
}
collection1.insertMany(list1);