好久没有用mogodb,今天window+R,执行mongod ,出了几个warning
mongod.png
意思分别为
1.mogo需要建立权限(出现这个警告的原因是新版本的MongDB为了让我们创建一个安全的数据库
必须要进行验证 );
2.执行mongod 需要增加可响应的地址(这点根据提示执行mongod --bind_ip 127.0.0.1
即可 )
接下来的问题是,怎么建立权限(我是windows系统)
- 先打开一个命令窗口a(window+R,),执行
mongod
- 再打开一个命令窗口b,执行
mongo
,
出现 ‘>’这个符号后(如下图红框的箭头),可以进行增加用户权限操作,
mongod2.png
创建管理员
分别执行如下操作(窗口b)
use admin
db.createUser(
{
user: "admin", //用户名
pwd: "admin", //密码
roles: [ { role: "root", db: "admin" } ] //权限
}
)
回到窗口a,执行如下操作
ctrl+c //结束打开的mogod
mongod --bind_ip 127.0.0.1 --auth //--auth 使用权限
为了验证下是否成功可以再命令窗口b中,退出当前操作(ctrl + c
),输入
mongo --port 27017 -u "admin" -p "admin" --authenticationDatabase "admin"
会出现如下界面
db3.png
在箭头后面输入
db.auth('admin','admin');
返回1即为链接成功建立。
或者使用mongoose(链接node 和mongodb的桥梁 )建立链接
npm i mongoose -S
const mongoose = require('mongoose');
const url = 'mongodb://127.0.0.1:27017/admin';
const option = {
socketTimeoutMS: 45000,
keepAlive: true,
reconnectTries: 10,
auto_reconnect: true,
useNewUrlParser: true,
user: 'admin',
pass: 'admin'
};
exports.connect=()=>{
mongoose.connect(url, option);
const db = mongoose.connection;
db.on('open',()=>{
console.log('mongoDB connected successfully!');
})
db.on('disconnected',()=>{
console.log('disconnected');
})
db.on('error',(err)=>{
console.log(err);
});
}
参考
网友评论