我正在编写一个java代码,使用java代码将表单值插入到mongoDB中。我正在使用map从地图中检索所有值并将其插入到mongoDB中。但是,如果属性具有多个值,则仅插入一个值。我的代码是:
Map<String, String[]> articleData = request.getParameterMap();
for(String key : articleData.keySet())
{
for(int i=0; i<articleData.get(key).length;i++)
{
document.put(key,articleData.get(key)[i]);
}
}
table.insert(document);
但是,现在,它覆盖了具有多个值的属性的值。 我该如何解决?
答案 0 :(得分:0)
试试这个,它会给你一个基本的想法。根据您的计划调整代码:
Map<String, String[]> articleData = request.getParameterMap();
for(String key : articleData.keySet())
{
BasicDBObject data =new BasicDBObject();
for(int i=0; i<articleData.get(key).length;i++)
{
data.put("",articleData.get(key)[i]);
}
document.put(key,data);
}
table.insert(document);
答案 1 :(得分:0)
对JSON对象进行编码。 试试这个。
Map<String, String[]> articleData = request.getParameterMap();
for(String key : articleData.keySet())
{
JSONObject out = new JSONObject();
out.put("key", key);
out.put("value", articleData.get(key));
System.out.println(out);
}
dbobj.put("multiple",out);
collection.insert(dbobj);