Mongo DB是否具有类似于Oracle触发器的功能



mongo有一些类似于oracle触发器的功能吗?当我插入文档时,它可以自动更新字段createdTimestamp和modifiedTimestap。

示例:

插入/更新数据后:

{
'name': 'bobo',
'age': 17
}

最终数据将更新如下。这意味着触发剂量时间字段对我来说正在更新。

{
'name': 'bobo',
'age': 17,
'createdTimestamp': 2020-09-17T09:31:14.416+00:00,
'modifiedTimestamp': 2020-09-17T09:31:14.440+00:00
}

我的解决方案是使用$currentDate$setOnInsert,更新集合upsert=true,代码如下:

created_modified_timestamp_operation = {
'$currentDate': {
modifiedTimestamp: true
},
'$setOnInsert': {
createdTimestamp: new Date()
}
}

但对于这个解决方案,我需要修改很多数据操作,所以我想知道是否有类似于Oracle触发器的功能,我只需要写一个触发器来监控数据库是否被修改。

谢谢~~

Well触发器仅在MongoDB图谱中可用。但是,如果您使用类似mongoose的东西,您可以创建触发器,因为它支持创建保存前/保存后更新触发器,我相信这虽然是应用程序级别的,但会有很大帮助。是的,还有Change Streams,你也可以读到它们。

最新更新