Java MongoDB 3.4向上插入不插入

Java MongoDB 3.4向上插入不插入,java,mongodb,upsert,mongo-shell,Java,Mongodb,Upsert,Mongo Shell,在Mongo shell中尝试以下操作(并在Java中尝试)以更新或插入文档。筛选器应返回false,但由于upsert=true,我希望创建文档 db.eventLogs.updateOne( {monthid:"062017", elementid:123456}, {$push: { events: {sensor1:"sensor1 val

在Mongo shell中尝试以下操作(并在Java中尝试)以更新或插入文档。筛选器应返回false,但由于upsert=true,我希望创建文档

db.eventLogs.updateOne(
                      {monthid:"062017", elementid:123456},
                      {$push: {
                               events: {sensor1:"sensor1 value",
                                        sensor2:"sensor2 value"
                                       } 
                              } 
                      }, 
                      {Upsert:true} )
语句已被确认,但不会向集合中插入任何内容,即使Upsert=true

我显然是个白痴,有人能帮我摆脱痛苦吗

Java版本

 Bson filter = Document.parse(argFilterJson);
 Bson operations = Document.parse(argOperationsJson);
 UpdateOptions options = new UpdateOptions().upsert(true);

 return this.getCollection(argDBName, argCollectionName).updateOne(filter, operations, options);

argFilterJson和argOperationsJson的值与shell完全相同。

奇怪的是,在重新启动我的MongoDB服务器后,Java代码开始按预期工作。

奇怪的是,在重新启动我的MongoDB服务器后,Java代码已开始按预期工作。

尝试将
Upsert
更改为
Upsert
,正如Veeram所建议的那样,Mongo Shell应该是“Upsert”,而不是“Upsert”,但在使用Java驱动程序时仍然不起作用。我已经添加了上面的Java代码。尝试将
Upsert
更改为
Upsert
,正如Veeram所建议的那样,Mongo Shell应该是“Upsert”,而不是“Upsert”,但是在使用Java驱动程序时它仍然不起作用。我已经添加了上面的Java代码。