Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java将子文档添加到mongodb_Java_Mongodb - Fatal编程技术网

使用java将子文档添加到mongodb

使用java将子文档添加到mongodb,java,mongodb,Java,Mongodb,这是我第一次使用mongodb,并以这种方式添加了来自java的文档: //document populated with for cycle document.append(element.getID().toString(), new Document("EL_ID", feedback.getPos(i).getID()) .append("name", element.getName()) .append("

这是我第一次使用mongodb,并以这种方式添加了来自java的文档:

//document populated with for cycle
document.append(element.getID().toString(), new Document("EL_ID", feedback.getPos(i).getID())
                    .append("name", element.getName())
                    .append("vote", 5)
                );

//and write (replaceOne is correct for my program's logic)
BasicDBObject searchQuery = new BasicDBObject().append("_id", MainDocID);
collection.replaceOne(searchQuery, document);
结果是:

{
"_embedded": {},
"_links": { ... },
"_type": "DOCUMENT",
"_id": { ... },

"element_ID_1": {
    "EL_ID": {
        "$oid": "element_ID_1"
    },
    "name": "one",
    "vote": 5
},
"element_ID_2": {
    "EL_ID": {
        "$oid": "element_ID_2"
    },
    "name": "two",
    "vote": 5
},
"_created_on": "date"
}
我认为将这些元素放在“_embedded”中是正确的,它也更有序,但我不知道如何做到这一点

我希望达到这个结果:

{
    "_embedded": {

        "element_ID_1": {
          "EL_ID": {
            "$oid": "element_ID_1"
          },
          "name": "one",
          "vote": 5
        },

        "element_ID_2": {
          "EL_ID": {
            "$oid": "element_ID_2"
          },
          "name": "two",
          "vote": 5
        }
    },
      "_links": {},
      "_type": "DOCUMENT",
      "_id": {},
      "_created_on": "date"
}
或者例如(相同的原则):\u embedded->elements\u lista->“element\u ID\n”


我找不到适用于我的案例的示例(来自java代码),任何建议都非常感谢。

这需要以将数据插入地图的方式进行处理

之前,您在主地图中设置EL_ID、name和vote键。但是,您需要创建一个地图,比如嵌入_,并且需要在其中设置上面提到的键


当这个整体DTO插入数据库时,它将保存在您提到的结构中

这需要以将数据插入地图的方式进行处理

之前,您在主地图中设置EL_ID、name和vote键。但是,您需要创建一个地图,比如嵌入_,并且需要在其中设置上面提到的键


当这个整体DTO插入数据库时,它将保存在您提到的结构中

在一些尝试之后,我解决了简单地创建一个包含所有元素的ArrayList并使用字符串键“\u embedded”将其附加到文档中的问题。在一些尝试之后,我解决了简单地创建一个包含所有元素的ArrayList并使用字符串键“\u embedded”将其附加到文档中的问题。

在程序的这一部分中,我没有使用映射(ID存储在列表中),现在我按原样离开。如果我有时间,我将改进文档。但是,谢谢。我没有在程序的这一部分使用映射(ID存储在列表中),因为现在我按原样离开。如果我有时间,我将改进文档。但是,谢谢。