如何在mongoDB中动态创建的集合中保存JSONArray

时间:2019-03-18 06:08:35

标签: mongodb spring-boot

我将其作为数组传递

{ "formData": [
    {"Temp":"123",
    "Oil":"456"}
  ], 
  "formId": 2
}
class FormDataRequest {
private Long formId;
private JSONArray formData;

//with getters and setters

我想将此数据插入在mongoDB中动态动态创建的集合中,

这是我的代码-

BasicDBObject dbo = new BasicDBObject();
dbo.put(formFieldLists.getName(), formDataRequest.getFormData().get(0));

collection.insert(dbo);

我无法将值保存在集合中。

请帮助我提供代码。

1 个答案:

答案 0 :(得分:0)

我已经通过这样做解决了这个问题,

  BasicDBObject dbObject = null;

    JSONArray data = (JSONArray) formDataRequest.getFormData();

    for (int i = 0; i < data.length(); i++) {

    dbObject = new BasicDBObject();

    Map<String, String> jsonoobjarr = (LinkedHashMap<String, String>) data.get(i);

        if (jsonoobjarr != null) {

        System.out.println(jsonoobjarr);

        Timestamp timestamp = new Timestamp(System.currentTimeMillis());

        String s = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(timestamp);


        dbObject.put("created_at", s);
        dbObject.put("updated_at", null);

        dbObject.putAll(jsonoobjarr);

        }
       collection.insert(dbObject);

      }

这对我来说工作正常。刚刚发布了解决方案,如果将来有人需要的话。