编辑(15/04/2016):根据在这个问题中收到的评论,我认为 mongodb 中没有直接的方法可以这样做。在那种情况下,是否可以使用 MongooseJS 做到这一点?
我正在使用 mongodb,对于一个集合,我需要一个“lastModified”字段,它应该显示最后一次实际修改文档的任何值的时间。这意味着,如果我进行了更新查询并且所有其他值都相同,则不应更新“lastModified”。
示例: 假设我在集合中有一个文档:
{ _id: 1, status: "a", lastModified: ISODate("2016-04-02T01:11:18.965Z") }
当我更新时
{$set:{"status":"a", "lastModified":"Current Time Here"}}
那么“lastModified”不应该改变
当我更新时
{$set:{"status":"b", "lastModified":"Current Time Here"}}
那么“lastModified”应该改变
如何做到这一点?
在我的情况下,我将多次调用更新操作,并且我不想在这种情况下每次都更改“lastModified”。相反,它应该仅在实际修改“状态”时才更改。