mongoose db.once('open')没执行回调
执行 39 open DB 回调 once mongoose
2023-09-14 09:00:00 时间
今天遇到 mongoose db.once('open')没执行回调
mongoose.connect('mongodb://localhost/test'); var db = mongoose.connection; db.once('open', function() { console.log("数据库连接成功"); });
使用 mongoose.createConnection获取连接对象后就能正常运行了
var db = mongoose.createConnection('mongodb://localhost/test'); db.once('open', function() { console.log("数据库连接成功"); });
说明:
mongoose.connection与createConnection()所返回的连接不同
(1)mongoose.createConnection()
获取数据库连接,操作database层面,返回一个Connection对象
Connection对象中包含model,collection,dropDatabase等操作数据库的方法,也包含connected,disconnected,error等事件触发方法
mongoose.createConnection([uri], [options], [options.config], [options.config.autoIndex], [options.useMongoClient])
(2)connection
mongoose模块的默认连接。返回一个Connetion对象
一般和connet()方法搭配使用,eg:
mongoose.connect('mongodb://localhost/test'); var db = mongoose.connection; db.on('connected',function(err){ if(err){ console.log('连接数据库失败:'+err); }else{ console.log('连接数据库成功!'); } })
相关文章
- Worepress中添加swf文件并执行
- executorservice等待线程池执行完毕_java线程池策略
- 关于JS执行顺序
- DataGrip连接Hive执行DDL操作报错
- 【C 语言】数组作为参数退化为指针问题 ( 问题描述 | 从编译器角度分析该问题 | 出于提高 C 语言执行效率角度考虑 | 数组作为参数的推荐方案 )
- 【ijkplayer】编译 Android 版本的 ijkplayer ⑥ ( 进入 ijkplayer-android/android 目录 | 执行 compile-ijk.sh 脚本完成编译 )
- Redis学习教程之命令的执行过程详解
- Oracle执行update时卡死问题的解决方法详解数据库
- MySQL事件失效:排查原因(mysql事件不执行)
- Linux编写脚本实现自动化运行(linux执行脚本编写)
- MySQL 性能优化:有效利用执行计划(mysql执行计划优化)
- 优化使用Oracle索引最佳实践:提升查询执行性能(oracle索引执行)
- 优化 优化Oracle执行效率: 7个重要步骤(oracle执行效率)
- CMD中使用MySQL轻松6步(cmd如何执行mysql)
- Redis锁下的切面执行,按部就班(redis锁切面执行顺序)
- 理解Javascript_13_执行模型详解
- a标签click和href执行顺序探讨