如何使用带有Map的java将属性的多个值插入到mongoDB中?

时间:2013-09-23 05:55:28

标签: java mongodb

我正在编写一个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);

但是,现在,它覆盖了具有多个值的属性的值。 我该如何解决?

2 个答案:

答案 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);