Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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使用_id更新或插入_Java_Spring_Mongodb - Fatal编程技术网

Java Mongodb使用_id更新或插入

Java Mongodb使用_id更新或插入,java,spring,mongodb,Java,Spring,Mongodb,我们需要使用Java mongodb驱动程序向mongodb插入以下文档,以下是详细信息: 插入{u id=“20190304”,val1=“data1”} -如果集合中已存在带有_id=“20190304”的文档,则将数据(val1=“data1”)附加到文档中,它应保留以前的数据 如果集合中没有文档,则使用{u id=“20190304”,插入文档{u id=“20190304”,val1=“data1”} 因此,如果集合有一个文档{{u id=“20190304”,val1=“data1

我们需要使用Java mongodb驱动程序向mongodb插入以下文档,以下是详细信息:

插入{u id=“20190304”,val1=“data1”}

-如果集合中已存在带有_id=“20190304”的文档,则将数据(val1=“data1”)附加到文档中,它应保留以前的数据

  • 如果集合中没有文档,则使用{u id=“20190304”,插入文档{u id=“20190304”,val1=“data1”}

  • 因此,如果集合有一个文档{{u id=“20190304”,val1=“data1”},并且如果我们插入具有相同{u id=“20190304”,valnew=“data2”}的新文档,那么它应该附加额外的字段,即它应该是{u id=“20190304”,val1=“data1”,valnew=“data2”}


对于前两种情况,您只需在upsert值设置为true的情况下执行更新操作(如果您使用的是MongoRepository,则执行upsert操作)


您提到的最后一种情况是不可能的,因为它与第一种情况相冲突:如果已经存在具有相同id的实体,则无法执行插入操作。

您是否尝试使用$set运算符和upsert=true?测试如下内容:update({u id:yourid},{$set:{val1=“data1”}},upsert=true)