mongoose连接报错the server/replset/mongos options are deprecated
我在使用mongoose连接数据库时报出警告。没能分析具体的原因。
使用async/await写法。
the server/replset/mongos options are deprecated, all their options are supported at the top level of the options object [poolSize,ssl,sslValidate,sslCA,sslCert,sslKey,sslPass,sslCRL,autoReconnect,noDelay,keepAlive,connectTimeoutMS,socketTimeoutMS,reconnectTries,reconnectInterval,ha,haInterval,replicaSet,secondaryAcceptableLatencyMS,acceptableLatencyMS,connectWithNoPrimary,authSource,w,wtimeout,j,forceServerObjectId,serializeFunctions,ignoreUndefined,raw,promoteLongs,bufferMaxEntries,readPreference,pkFactory,promiseLibrary,readConcern,maxStalenessSeconds,loggerLevel,logger,promoteValues,promoteBuffers,promoteLongs,domainsEnabled,keepAliveInitialDelay,checkServerIdentity,validateOptions
但是,数据库的读写一样成功。就是每一次都有上面的报错,恳请大家指点一下!
我觉得是连接mongodb的promise出现问题
const mongoose=require('mongoose');
mongoose.Promise = require('bluebird');
const config=require('../config.js');
const url=config.debug?config.loc_db_url:config.db_url;
const db=mongoose.connection;
db.on('error',()=>mongoose.disconnect());
db.on('disconnected',()=>mongoose.connect(url,{server:{auto_reconnect:true,poolSize:10},useMongoClient: true}));
mongoose.connect(url,{server:{auto_reconnect:true,poolSize:10},useMongoClient: true});
/* *
引入模型对象
*/
require('./account-schema');
require('./baoxiu-schema');
require('./ludeng-schema');
require('./ludengtype-schema');
require('./shexiangtou-schema');
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是新版本驱动API做了修改,旧的方式仍然可用,但是被标记为
deprecated
,也就是说在将来的版本中不再支持。错误消息提示得其实挺到位了,就是用于连接的选项现在全部被移到了顶层,也就是说
这个问题在mongoose的github上有很多人提到,可以看一下issue#5442,里面也有解答。