Javascript 在使用mongoose时,您如何确保只有在完成连接后才会查询DB?
使用native node.js mongodb驱动程序时,一个驱动程序连接到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()采用与本机驱动程序完全相同的
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');
});
});