I am learning mongoose and I'm unable to understand some code execution order of javascript
Code:
    const mongoose = require("mongoose");
    mongoose.connect("mongodb://localhost:27017/fruitsDB");
    const fruitSchema = new mongoose.Schema({
      name: {
        type: String,
        required: [true, "Please check your data entry, no name specified!"],
      },
      rating: {
        type: Number,
        min: 1,
        max: 10,
      },
      review: String,
    });
    const Fruit = mongoose.model("Fruit", fruitSchema);
    // Reading data from database
    Fruit.find((err, fruits) => {
      if (err) {
        console.log(err);
      } else {
        // console.log(fruits);
        mongoose.connection.close();
        fruits.forEach((fruit) => {
          console.log(fruit.name);
        });
      }
    });
    // Updating data in database
    Fruit.updateOne({ name: "Kiwi" }, { name: "Peach" }, (err) => {
        if (err) {
            console.log(err);
        }
        else {
            console.log("Successfully updated data");
        }
    });
    // Deleting data in database
    Fruit.deleteOne({ name: 'Peach' }, (err) => {
        if (err) {
            console.log(err);
        }
        else {
            console.log('Data deleted successfully');
        }
    })
I am unable to understand why the Update function in running before the find() function, can anyone explain this to me please?

 
    