Express Mongoose ORM异步等待

Express Mongoose ORM异步等待,express,mongoose,mongoose-schema,Express,Mongoose,Mongoose Schema,任何人都可以帮助我如何使用异步和等待功能管理此代码。我的要求是插入100个数据,然后断开mongo数据库。 var faker = require('faker'); var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/shopping'); mongoose.Promise = global.Promise; var Product = require('

任何人都可以帮助我如何使用异步和等待功能管理此代码。我的要求是插入100个数据,然后断开mongo数据库。

var faker = require('faker');
    var mongoose = require('mongoose');
    mongoose.connect('mongodb://localhost:27017/shopping');
    mongoose.Promise = global.Promise;
    var Product = require('../models/product');



    async function insertDocument(){
        for(var i=0;i<=100;i++){
            try{
                var product = new Product({
                    imagePath:faker.image.image(),
                    title:faker.commerce.productName(),
                    description:faker.lorem.paragraph(),
                    price:faker.commerce.price()
                });

                product.save();
            }catch (err) {
                console.log(err);

            }
        }


    }
     insertDocument().then(function () {
      //  mongoose.disconnect();

    });
var faker=require('faker');
var mongoose=require('mongoose');
猫鼬mongodb://localhost:27017/shopping');
mongoose.Promise=global.Promise;
var Product=require(“../models/Product”);
异步函数insertDocument(){
for(var i=0;i
product.save()
返回承诺。如果要连续插入100个文档(一个接一个),请使用
wait
。如果要并行插入100个文档,则不需要
async
,而应使用
promise.all

顺序的 异步函数insertDocument(){ 对于(var i=0;i
async function insertDocument(){
    for(var i=0;i<=100;i++){
        try{
            var product = new Product({
                imagePath:faker.image.image(),
                title:faker.commerce.productName(),
                description:faker.lorem.paragraph(),
                price:faker.commerce.price()
            });

            await product.save();
        }catch (err) {
            console.log(err);

        }
    }

}
function insertDocument(){
    let promises = [];
    for(var i=0;i<=100;i++){
        var product = new Product({
            imagePath:faker.image.image(),
            title:faker.commerce.productName(),
            description:faker.lorem.paragraph(),
            price:faker.commerce.price()
        });

        promises.push(product.save());
    }

    return Promise.all(promises);
}