- MongoDB 安装过程及注意事项
- MongoDB 卸载过程及注意事项
- 安装卸载过程中报过的错
- 几点补充
下载地址
选择3.6 MSI版本,下文以mongodb 3.6为示例
如:D:\MongoDB\Server\3.6
安装过程中,不要勾选 Install MongoDB Compass, 这是安装官方的可视化工具,一方面链接其官网下载速度非常慢,另外该工具也特别不好用,建议用CMD直接操作
安装完成画面
环境变量的作用:
将特定的目录添加到环境变量(path变量中)中,那么在任意的 cmd 目录下都可以执行 该目录下的可执行命令
用户变量: 当前登录用户的变量设置,修改 只有本用户起作用
系统变量: 对所有用户都起作用的
修改了 环境变量后, 必须重启cmd 才起作用!
注意一:
如果是生产环境,需要使用验证模式
即开启用户认证
auth=true
切記,否則會导致数据库风险
注意二:
绑定ip
127.0.0.1: 本机IP
localhost: 等同于 127.0.0.1
192.168.8.2: 局域网IP, 所有192.168 开头的ip,都是局域网IP
除了本机外, 局域网的机器都可以访问(前提是要关闭防火墙或者开放允许访问端口号)
121.69.88.226: 外网IP, 所有互联网的机器都可以访问
0.0.0.0: 最终的默认IP,所有以上4个类型的ip来源都可以访问!
可以CMD切换到 D:\MongoDB\Server\3.6\bin 目录下,当然这个步骤如果环境变量安装正确,就不用考虑
方式一:
在cmd命令窗口中输入 mongod --install -f “D:\MongoDB\Server\3.6\mongod.conf”
方式二:
mongod --config "D:\ MongoDB\Server\3.6\mongod.conf " --install
先stop服务
cmd下用
sc stop mongodb
然后想彻底清掉mongodb,需要delete服务
sc delete MongoDB
注意!!名字是个坑,需要跟我的电脑中的服务中的mongodb,保证服务名称大小写一致
然后再是软件卸载,数据库删除。以上需基于服务已经完全停止并且删除
(1) net start mongodb发生系统错误2 系统找不到指定的文件
解决方法:
打开控制面板-管理工具-服务
点击mongodb服务,右键属性发现启动位置仍在在上次的安装路径下c:\program files\mongodb,没有改成D盘(就是你自己的安装盘)
我们需要先stop服务
sc stop mongodb
然后想彻底清掉mongodb,需要delete服务
sc delete MongoDB
(2) Connect failed
(3)"not authorized on test to execute command { listCollections: 1.0 }
虽然这个错误很简单,但是初次接触mongodb,被这个错折磨到凌晨2点…也感谢提供答案的博主…
mongodb进行操作时,出现errmsg" : "not authorized on test to execute command { listCollections: 1.0 }这个提示
表示没有权限,那就赶紧添加用户吧
切换到admin库
use admin;
添加用户
db.createUser( {
user: "sa",
pwd: "sa",
roles: [ { role: "root", db: "admin" } ]
});
既然已经添加了用户
用sa账号登录
db.auth('sa','sa');
文件夹、文件、变量、类都使用 字母、数字、_ 作为字符串就好了,可以查看一下PEP8
“ok” : 1 # 代表成功了
“ok” : 0 # 代表失败了
“err” : 1 # err 是 error 的简写, 代表失败
“err” : 0 # 代表没有错, 成功了
“error” : 1
“error” : 0
conf、cfg、ini、xml等
如果 json 文档 中 没有指定 _id key,那么 mongodb会自动写入 _id key
{ "_id" : ObjectId("5bf661a3bde7ac69f29185e7"), "name" : "terry", "age" : 18 }
{ "_id" : ObjectId("5bf66259bde7ac69f29185e8"), "name" : "mary" }
{ "_id" : ObjectId("5bf66259bde7ac69f29185e9"), "name" : "hanmeimei" }
{ "_id" : "myid", "name" : "lilei", "age" : 20 }
查找时,
系统生成的 _id 必须这样访问:
db.test.find({'_id': ObjectId("5bf66259bde7ac69f29185e8")})