我正在使用Java MongoDB驱动程序。版本是3.0.3。
我正在尝试在更新时使用$ setOnInsert,但我想返回插入或更新的文档。
我有userId
,createdDate
和modifiedDate
字段。当文档不存在时,我将创建一个,但是当它存在时,我将只更新modifiedDate字段。我知道db.collection.update()
没有返回文档,但这是我看到我可以插入的唯一方式。以下是我用于update
的查询:
db.collection.update(
{ userId: <userId> },
{
$set: { modifiedDate: <date> },
$setOnInsert: { createdDate: <date> }
},
{ upsert: true }
)
我知道MongoDB有findAndModify
,您可以使用它来更新并返回更新的文档。
我有什么方法可以findAndModify
使用$setOnInsert
或使用update
返回“upserted”文档?
先谢谢。