Java 如何在更新时使用$setOnInsert并在MongoDB中返回文档?
我正在使用Java MongoDB驱动程序。版本是3.0.3 我试图在更新时使用$setOnInsert,但我想返回插入或更新的文档 我有一个Java 如何在更新时使用$setOnInsert并在MongoDB中返回文档?,java,mongodb,mongodb-java,Java,Mongodb,Mongodb Java,我正在使用Java MongoDB驱动程序。版本是3.0.3 我试图在更新时使用$setOnInsert,但我想返回插入或更新的文档 我有一个userId,createdDate和modifiedDate字段。当文档不存在时,我会创建一个,但当它存在时,我只会更新modifiedDate字段。我知道db.collection.update()不会返回文档,但这是我唯一可以插入的方法。下面是我用于更新的查询: db.collection.update( { userId: <user
userId
,createdDate
和modifiedDate
字段。当文档不存在时,我会创建一个,但当它存在时,我只会更新modifiedDate字段。我知道db.collection.update()
不会返回文档,但这是我唯一可以插入的方法。下面是我用于更新的查询:
db.collection.update(
{ userId: <userId> },
{
$set: { modifiedDate: <date> },
$setOnInsert: { createdDate: <date> }
},
{ upsert: true }
)
db.collection.update(
{userId:},
{
$set:{modifiedDate:},
$setOnInsert:{createdDate:}
},
{upsert:true}
)
我知道MongoDB有一个find和modify
,您可以使用它来更新和返回更新的文档
是否有任何方法可以使用查找和修改和$setOnInsert
或使用更新
返回“上传”文档
提前感谢。当然,$setOnInsert
可以使用findanddomify
很好。谢谢@JohnnyHK,findanddomify
很好,并返回“upserted”文档。当然,$setOnInsert
可以使用findanddomify
很好。谢谢@JohnnyHK,find和modify
工作正常,返回“upserted”文档。