mongodb在关系数据库中是否具有触发器和过程等属性?

use*_*929 9 triggers procedure mongodb

如标题所示,如果我想在插入记录之前触发事件以运行一致性检查或安全操作,请包括map-reduce框架,我该如何使用MongoDB?

Joh*_*ell 12

MongoDB不支持触发器,但人们已经围绕它们创建了解决方案,主要是使用oplog,但这只会在你运行副本集时帮助你,因为oplog是一个上限集合,可以跟踪数据更改复制.对于nodejs解决方案,请参阅:https://www.npmjs.org/package/mongo-watch 或查看更早的SO线程:如何监听MongoDB集合的更改?

如果您关注一致性,请阅读mongoDB中的写入问题.http://docs.mongodb.org/manual/core/write-concern/通过设置插入写入关注级别,从火灾和希望获得副本的所有成员的确认,您可以放松或严格.组.

因此,如果要在插入数据之前运行一致性检查,则可能必须将该逻辑移动到客户端应用程序并将写入关注级别设置为确保一致性的级别.