我正在写一个mongodb连接的应用程序,并在连接到服务器时像下面收到这样的警告:
Db.prototype.authenticate方法将不再在下一个主要版本3.x中可用,因为MongoDB 3.6将仅允许对admin数据库中的用户进行身份验证,并且将不再允许套接字上的多个凭据.请使用带有身份验证凭据的MongoClient.connect进行身份验证.
我的代码就像吼叫
import mongoose from 'mongoose';
import config from './config';
mongoose.connect(config.db.uri);
Run Code Online (Sandbox Code Playgroud)
在config.js
const config = {
name: 'API',
version: '0.0.1',
env: process.env.NODE_ENV || 'development',
port: process.env.PORT || 3000,
base_url: process.env.BASE_URL || 'http://localhost:3000',
db: {
uri: 'mongodb://admin:harry123@127.0.0.1:27017/ai?authSource=admin',
},
}
export default config;
Run Code Online (Sandbox Code Playgroud)
我使用的是Node v8.0.0和mongoose 4.10.5
该警告是由于 MongoDB 驱动程序弃用了 mongoose 的默认连接逻辑所使用的 API。从 mongoose 4.11.1 开始,您可以通过设置useMongoClient选项来选择使用 mongo 客户端,例如
mongoose.connect(config.db.uri, { useMongoClient: true, /* other options */ })
Run Code Online (Sandbox Code Playgroud)
请注意,使用 Mongo 本机客户端可能会产生不良影响,因此请务必彻底测试所有内容,
请在此处查看更多详细信息
| 归档时间: |
|
| 查看次数: |
7194 次 |
| 最近记录: |