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