I am currently working on a project in which I am using a js library called 'jsPsych' to conduct an experiment. I am using node.js, in combination with heroku to host and deploy my app online, with Mongo Atlas as my database. While writing the node.js script for connecting to Mongodb, I used the tutorial provided here <https://www.mongodb.com/blog/post/quick-start-nodejs-mongodb--how-to-get-connected-to-your-database>. Now everything works fine in a local environment, but as soon as i deploy my experiment online, I get the message: "The experiment failed to load." Upon checking the heroku logs, I saw this:"(node:4) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch()."

This is the node.js script for connecting to mongodb:

```
    const {MongoClient} = require('mongodb');
    async function main(){

const uri = "mongodb+srv://username:password@cluster-url/test?retryWrites=true&w=majority";
const client = new MongoClient(uri);

try{
    await client.connect();

    await listDatabases(client);

}  catch (e) {
    console.error(e);
}
finally {
    await client.close();
}
}
main().catch(console.error);

async function listDatabases(client){
    databasesList = await client.db().admin().listDatabases();

    console.log("Databases:");
    databasesList.databases.forEach(db => console.log(` - ${db.name}`));
};

```

Since I am a novice at coding, and this is my first experience with back-end code, I am struggling to find a solution to this problem. Also,it seems like the script already has a .catch function included, does this mean that I am not handling a promise using a .catch function? Could this be what's causing my problem?