Java MongoDB 3.4向上插入不插入
在Mongo shell中尝试以下操作(并在Java中尝试)以更新或插入文档。筛选器应返回false,但由于upsert=true,我希望创建文档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
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代码。