0

我有一个名为“消息”的集合。每条消息都有一个“读取”布尔值。在某些情况下,当我检索消息时,我想将值设置为“true”,同时返回预先修改的值。

所以,假设我有 1 条消息,其“读取”值为“假”。当我检索它时,我想返回初始的“假”值,但在同一个操作中,我想将它设置为“真”。

有什么办法吗?

4

1 回答 1

3

findAndModify命令是您要查找的内容:

4. 该命令返回为此更新选择的原始未修改文档。

如果您在 Mongo shell 中使用它,您的用法将如下所示:

db.messages.findAndModify({query: {read: false}, update: {read: true}})

不过,看起来您正在使用 Java。Java 驱动程序为findAndModify(). 您可以在DBCollection 的 javadoc 中查看它们。

于 2013-02-17T19:40:53.337 回答