Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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
Node.js 如何设置useMongoClient(Mongoose 4.11.0)?_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 如何设置useMongoClient(Mongoose 4.11.0)?

Node.js 如何设置useMongoClient(Mongoose 4.11.0)?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,这是我用来连接数据库的代码: private connectDatabase(databaseUri: string): Promise<Mongoose.Connection> { return Mongoose.connect(databaseUri).then(() => { debug('Connected to MongoDB at %O', databaseUri); return Mongoose.connection;

这是我用来连接数据库的代码:

private connectDatabase(databaseUri: string): Promise<Mongoose.Connection> {
    return Mongoose.connect(databaseUri).then(() => {
        debug('Connected to MongoDB at %O', databaseUri);
        return Mongoose.connection;
    });
}
我找不到有关如何“设置useMongoClient”的任何信息


你们知道怎么做吗?

这就是你们如何使用使用MongoClient

mongoose.connect('mongodb://localhost/advisorDemoTestDB', { useMongoClient: true })

这就是您如何使用useMongoClient

mongoose.connect('mongodb://localhost/advisorDemoTestDB', { useMongoClient: true })
有人试过这个吗?当我使用这个时,我的不推荐警告消失了,它来自文档

有人试过这个吗?当我使用这个时,我的不推荐警告消失了,它来自文档


最简单的修复方法是打开终端,将目录更改为根项目(位于
package.json
的文件夹)

运行:
npm移除猫鼬

然后:

npm安装mongoose@4.10.8--保存

问题解决了

升级并不总是最好的选择


最简单的修复方法是打开终端,将目录更改为根项目(位于
package.json
的文件夹)

运行:
npm移除猫鼬

然后:

npm安装mongoose@4.10.8--保存

问题解决了

升级并不总是最好的选择


根据
mongoose
,这就是如何设置
useMongoClient

函数连接数据库(databaseUri){
var promise=mongoose.connect('mongodb://localhost/myapp', {
useMongoClient:对,
});
回报承诺;
}

根据
mongoose
,这就是如何设置
useMongoClient

函数连接数据库(databaseUri){
var promise=mongoose.connect('mongodb://localhost/myapp', {
useMongoClient:对,
});
回报承诺;
}

使用Mongoose 4.11.x连接到MongoDB(使用mLab单实例和MongoDB Atlas副本集进行测试):

const mongoose=require('mongoose'); mongoose.Promise=global.Promise; 常量选项={ 承诺图书馆:全球。承诺, useMongoClient:对, }; 函数连接(){ mongoose.connect(URI,选项) .然后(函数(){ const admin=new mongoose.mongo.admin(mongoose.connection.db); 管理员buildInfo(函数(错误,信息){ 如果(错误){ err(`Error获取MongoDB信息:${err}`); }否则{ log(`到MongoDB的连接(版本${info.version})已成功打开!`); } }); }) .catch((err)=>console.error(`error连接到MongoDB:${err}`)); } module.exports=连接; 创建模型:

const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({...}); module.exports = mongoose.model('User', userSchema); const mongoose=require('mongoose'); constuserschema=newmongoose.Schema({…}); module.exports=mongoose.model('User',userSchema);
使用Mongoose 4.11.x连接到MongoDB(使用mLab单实例和MongoDB Atlas副本集进行测试):

const mongoose=require('mongoose'); mongoose.Promise=global.Promise; 常量选项={ 承诺图书馆:全球。承诺, useMongoClient:对, }; 函数连接(){ mongoose.connect(URI,选项) .然后(函数(){ const admin=new mongoose.mongo.admin(mongoose.connection.db); 管理员buildInfo(函数(错误,信息){ 如果(错误){ err(`Error获取MongoDB信息:${err}`); }否则{ log(`到MongoDB的连接(版本${info.version})已成功打开!`); } }); }) .catch((err)=>console.error(`error连接到MongoDB:${err}`)); } module.exports=连接; 创建模型:

const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({...}); module.exports = mongoose.model('User', userSchema); const mongoose=require('mongoose'); constuserschema=newmongoose.Schema({…}); module.exports=mongoose.model('User',userSchema);
如果没有Typescript您几乎可以忽略这个问题,使用
Mongoose.connect(databaseUri,{useMongoClient:true})

如果您确实想避免出现警告,请避免使用版本4.11.0

我更新到版本4.11.1,从@types开始/mongoose@4.7.18尚未更新,并且未提及
连接选项中的
useMongoClient
字段,这就是我导入模块的方式:

const Mongoose = require('mongoose');
然后使用这个函数:

private connectDatabase(databaseUri: string): Promise<any> {
    return Mongoose.connect(databaseUri, { useMongoClient: true })
        .then(() => {
            console.log('Connected to MongoDB at ', databaseUri);
            return Mongoose.connection;
        })
        .catch(err => debug(`Database connection error: ${err.message}`));
}
private-connectDatabase(databaseUri:string):承诺{
返回Mongoose.connect(数据库URI,{useMongoClient:true})
.然后(()=>{
log('连接到MongoDB at',databaseUri);
返回猫鼬连接;
})
.catch(err=>debug(`数据库连接错误:${err.message}`));
}

如果不使用Typescript,您几乎可以忽略这个问题,使用
Mongoose.connect(databaseUri,{useMongoClient:true})

如果您确实想避免出现警告,请避免使用版本4.11.0

我更新到版本4.11.1,从@types开始/mongoose@4.7.18尚未更新,并且未提及
连接选项中的
useMongoClient
字段,这就是我导入模块的方式:

const Mongoose = require('mongoose');
然后使用这个函数:

private connectDatabase(databaseUri: string): Promise<any> {
    return Mongoose.connect(databaseUri, { useMongoClient: true })
        .then(() => {
            console.log('Connected to MongoDB at ', databaseUri);
            return Mongoose.connection;
        })
        .catch(err => debug(`Database connection error: ${err.message}`));
}
private-connectDatabase(databaseUri:string):承诺{
返回Mongoose.connect(数据库URI,{useMongoClient:true})
.然后(()=>{
log('连接到MongoDB at',databaseUri);
返回猫鼬连接;
})
.catch(err=>debug(`数据库连接错误:${err.message}`));
}

使用Typescript对我有效:

var dbOpt : any = { 
    useMongoClient: true
} 
mongoose.connect(dbURI, dbOpt);

我可以使用Typescript:

var dbOpt : any = { 
    useMongoClient: true
} 
mongoose.connect(dbURI, dbOpt);

添加{useMongoClient:true}作为connect或createConnection方法的另一个参数,它取决于您使用的mongoose版本

// Using `mongoose.connect`...
var promise = mongoose.connect('mongodb://localhost/myapp', {
  useMongoClient: true,
  /* other options */
});
// Or `createConnection`
var promise = mongoose.createConnection('mongodb://localhost/myapp', {
  useMongoClient: true,
  /* other options */
});

添加{useMongoClient:true}作为connect或createConnection方法的另一个参数,它取决于您使用的mongoose版本

// Using `mongoose.connect`...
var promise = mongoose.connect('mongodb://localhost/myapp', {
  useMongoClient: true,
  /* other options */
});
// Or `createConnection`
var promise = mongoose.createConnection('mongodb://localhost/myapp', {
  useMongoClient: true,
  /* other options */
});

最简单的修复方法是:

通过终端在项目根文件夹中运行此命令:

npm移除猫鼬

npm安装mongoose@4.10.8--保存

专业的
npm uninstall mongoose
npm install mongoose  --save