考虑一个简单的 mongo 文档结构:
{ _id,第一次,最后一次 }
客户端需要插入具有已知 ID 的文档,或更新现有文档。'lastTime' 应始终设置为最近的时间。对于“firstTime”,如果正在插入文档,则“firstTime”应设置为当前时间。但是,如果文档已经创建,则“firstTime”保持不变。我想纯粹用 upserts 来做(以避免查找)。
我已经抓取了http://www.mongodb.org/display/DOCS/Updating,但我只是不知道如何完成该特定操作。
我不认为这是不合理的,有 $push 和 $addToSet 操作可以有效地在数组字段上执行此操作,而在简单字段上没有任何操作。就像应该有类似 $setIf 操作的东西。