Error: MongooseError: Operation `tours.insertOne()` buffering timed out after 10000ms at Timeout]

I understand that we need to use asynch and await while connecting db since models are loading before db connection happening so i have used and call the function in server.js Please look into my code and help me.
Connection.Js

const mongoose = require('mongoose');
mongoose.set('strictQuery', true);
module.exports = async () => {
   console.log(process.env.DB_URL);
   await mongoose.connect(process.env.DB_URL, {
        useNewUrlParser: true,
        //useUnifiedTopology: true
        }).then(()=>{
            console.log("Database Connected");
        }).catch (error => {
            console.log("Database connectivity Error", error);
    });     
}  

Server.js

const express = require('express');
const dotEnv = require('dotenv');
const { urlencoded } = require('express');
const cors = require('cors');
const dbConnection = require('./database/connection');
dotEnv.config({path:'./.env'});


const app = express();

// Database connection


// cors
app.use(cors());
app.use(express.json());

dbConnection();
     
app.use('/api/v1/domain', require('./routes/domainRoutes') );


app.get('/', (req, res, next)=>{
    res.send("Hello From node aPI server");
});

// request payload middleware
app.use(express.json);
app.use(urlencoded({extended:true}))

const PORT = process.env.PORT || 3000;
app.listen(PORT, ()=>{
    console.log(`Server Listen on port ${PORT}`);
});

// error handling middle ware
app.use(function(err, req, res,next){
    console.error(err.stack)
    res.status(500).send({
        status: 500,
        message:err.message,
        body:{}
    })
});```

Following is the link for full code
https://github.com/vlpreddy/node-express-rest-api