Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在使用mongoose时,您如何确保只有在完成连接后才会查询DB?_Javascript_Node.js_Mongodb_Mongoose - Fatal编程技术网

Javascript 在使用mongoose时,您如何确保只有在完成连接后才会查询DB?

Javascript 在使用mongoose时,您如何确保只有在完成连接后才会查询DB?,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,使用native node.js mongodb驱动程序时,一个驱动程序连接到DB,如下所示: const MongoClient=require('mongodb')。MongoClient; 常量url=mongodb://localhost:27017/db' MongoClient.connect(url,(err,db)=>{ 如果(!err){ //连接后使用db进行操作 //完成后 db.close(); } });mongoose.connect()采用与本机驱动程序完全相同的

使用native node.js mongodb驱动程序时,一个驱动程序连接到DB,如下所示:

const MongoClient=require('mongodb')。MongoClient;
常量url=mongodb://localhost:27017/db'
MongoClient.connect(url,(err,db)=>{
如果(!err){
//连接后使用db进行操作
//完成后
db.close();
}
});
mongoose.connect()
采用与本机驱动程序完全相同的回调函数:

Mongoose.connect(uri(s), [options], [callback])
请看这里:

mongoose如何确保在A行完成并成功后执行B行的代码

你可能会误解,这并不意味着A行成功

返回
mongoosetenable
,调用
mongoose.connect()
后,调用
open
创建连接,并通过事件
connected
error
检查连接是否成功或失败,因此,在
connected
事件的回调中,最好将数据保存到db中

mongoose.connection.on('error', function() {
    console.log('Could not connect to mongoDB');
});

mongoose.connection.on('connected', function() {
    console.log('Establish connection to mongoDB');
    kitty.save(function(err) { //(B)
      if (err) // ...
        console.log('meow');
    });
});
mongoose.connection.on('error', function() {
    console.log('Could not connect to mongoDB');
});

mongoose.connection.on('connected', function() {
    console.log('Establish connection to mongoDB');
    kitty.save(function(err) { //(B)
      if (err) // ...
        console.log('meow');
    });
});