如何在更新时使用$ setOnInsert并在MongoDB中返回文档?

时间:2016-06-24 18:56:12

标签: java mongodb mongodb-java

我正在使用Java MongoDB驱动程序。版本是3.0.3。

我正在尝试在更新时使用$ setOnInsert,但我想返回插入或更新的文档。

我有userIdcreatedDatemodifiedDate字段。当文档不存在时,我将创建一个,但是当它存在时,我将只更新modifiedDate字段。我知道db.collection.update()没有返回文档,但这是我看到我可以插入的唯一方式。以下是我用于update的查询:

db.collection.update(
    { userId: <userId> },
    {
      $set: { modifiedDate: <date> },
      $setOnInsert: { createdDate: <date> }
    },
    { upsert: true }
)

我知道MongoDB有findAndModify,您可以使用它来更新并返回更新的文档。

我有什么方法可以findAndModify使用$setOnInsert或使用update返回“upserted”文档?

先谢谢。

0 个答案:

没有答案