MongoDB

MongoDB Triggers

You must ensure that the data is correct and consistent when dealing with MongoDB. You may accomplish this in several ways with MongoDB. In MongoDB, using triggers is an excellent approach to do this. They assist MongoDB users in ensuring the consistency and integrity of their data. This is beneficial for MongoDB users that require high-quality data. We’ll go through MongoDB Triggers in great detail in this article. You’ll cover what they are, how to build and manage them, and what types they come in.

What Are Triggers in MongoDB Atlas

MongoDB Triggers are snippets that allow you to run server-side functionality once a database event occurs, including when information is inserted, changed, or deleted. Database triggers can be used to establish complicated data interactions. Triggers can be used to update the information when relevant data changes or to communicate with services when new data is inserted.

Types of Triggers in MongoDB Atlas

Database Triggers: When a collection’s document is modified, inserted, or removed, it performs some action.

Scheduled Triggers: Scheduled actions occur at a predetermined time or interval. MongoDB Atlas uses the CRON statement language to schedule triggers naturally. Simple triggers like executing a daily clean-up operation of temporary records to create a report every minute on transaction inconsistencies can be used.

Authentication Triggers: When a user is created or deleted, or when a user logs in to MongoDB, the following actions occur. These triggers are used in Realm apps to execute user maintenance and auditing.

Applications of Triggers in MongoDB

Auditing: Triggers can assist you in determining which user made specific modifications to a document.

Data Consistency: Triggers in MongoDB can be used to verify that data entering the database follows a prescribed format. It is used to ensure a database’s State field is in UPPERCASE.

Data Integrity: It can allow you to add conditional formatting to ensure that specific fields contain valid data. For example, ensure that an order record’s Initiate Date comes before the order’s Closing Date.

Data Events: MongoDB Triggers can be inserted into a collection based on a series of events, such as a report being generated after a specific quantity of data has been uploaded or a notification is sent when such a percentage of people have started a game.

How To Create Triggers in MongoDB Atlas

To use the MongoDB cloud Atlas service, we need to create an account. Then on the left-hand side of the navigation bar, we have chosen a Load Sample Data. Within the following figure, the Load Sample Data option is visible:

The procedure will take a few minutes to complete, but it will load various sample data into MongoDB. To establish a MongoDB trigger, we have the Sample training datasets from the following viewable sample load datasets. Then, to view the Sample datasets, simply click the “Browse Collections” option to ensure that the Sample dataset has been loaded successfully.

Next, on the left side of the Atlas features shown, we have to select the one named the “Triggers”:

Now, we want to implement a trigger that activates whenever a new document is added to the sample_training database’s trips collection. To open the trigger’s configuration page, click the “Add Trigger” button, as shown below:

To set up a database trigger, go to “Database”. Then, give the trigger details. You can call the trigger whatever you wish. We labeled it as “MongoDB_Triggers” in the following example:

Now, in the following “Link Data Source(s)” section, choose or link a data source to the trigger:

Choose a Cluster field, Database field, and Collection field from the drop-down menus and set the name according to your choice against each field. Here, we have set the Database name as sample_training, same as our load sample data name, and the collection name is set as trips. In the end, there is an option as “operation type” where we have selected an insert option that will activate a trigger under this option.

After configuring the triggers, scroll down to the “Function” section. We will implement some code that modifies the “lastupdated” column to the existing timestamp when a new document is added to the trips collection. Here, the code is the same for everyone, but we have to specify the cluster name, database name, and collection name. The code to add is displayed in the subsequent figure. Once you have added the code, click on the option save, which is shown at the end of the right side.

We can determine if the trigger works by entering a new document into the collection. To go back to the main page, go to the top of the page and hit the “Atlas” button. Select “Browse Collections” from the drop-down menu that appears. Then, select the “trips” collection from the “sample training” database. Then, select “Insert Document.”

Once you click the “INSERT DOCUMENT” button, the “insert to collection” section will pop up, as seen in the following figure. Inside that insert to the collection section, the id is assigned by default. We simply need to give the title name and the rated option. We have set the title as “MongoDB tips trigger” and rated it as “PG” here.

When you browse for the inserted document by title, you’ll notice that the document’s “lastupdated” field has been stored to the existing timestamp. That is how MongoDB Triggers are created and used.

Conclusion

MongoDB Atlas includes database triggers, which allow users to easily program the task to be executed when a database event occurs, and server management and a convenient UI, which means less code to write. Atlas also offers a variety of other triggers to help modern applications meet their more complex needs. MongoDB Triggers can assist you in ensuring that your MongoDB data is consistent and reliable. They can also assist you in identifying the individual who made certain modifications to the MongoDB data.

About the author

Saeed Raza

Hello geeks! I am here to guide you about your tech-related issues. My expertise revolves around Linux, Databases & Programming. Additionally, I am practicing law in Pakistan. Cheers to all of you.