MongoDB插入上的基本触发器

Basic trigger on MongoDB insert

本文关键字:触发器 插入 MongoDB      更新时间:2023-09-26

我正在尝试在我的 Mongo 数据库 (mydatabase) 上的我的集合 (mycollection) 中的插入中触发。这是准备在插入时触发的 JavaScript 代码。

var MongoClient = require('mongodb').MongoClient;
var triggers = require("mongo-triggers");
MongoClient.connect('mongodb://localhost:27017/mydatabase', function(err, db) {
  var myCollection = db.collection('mycollection');
  triggers(myCollection).insert(function(document, next) {
    console.log("Triggered on insert");
    next();
  });
});

当我使用 mongo CLI 进行插入时:

> use mydatabase
> db.mycollection.insert({"test": 1})

不会触发任何内容(标准输出上不打印)。有什么想法吗?

您使用

mongo-triggers库定义的触发器仅在定义触发器的 node.js 程序的上下文中工作。

因此,只有在代码示例所在的同一程序中插入文档时,才会获得输出。

MongoDB对触发器没有任何内置支持,因此这只是一个客户端触发器。