Mongodb学习
Posted biyangqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongodb学习相关的知识,希望对你有一定的参考价值。
Docker运行mysql
docker run -p 27017:27017 -v /opt/data/mongo/db:/data/db -v/opt/data/mongo/mongod.conf.orig:/etc/mongod.conf.orig --name docker_mongo -d mongo
docker run -p 27017:27017 -v /opt/data/mongo/db:/data/db -v/opt/data/mongo/mongod.conf.orig:/etc/mongod.conf.orig --name docker_mongo -d mongo --auth
#–auth的参数的意义是开启密码授权访问
# mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data. storage: dbPath: /var/lib/mongodb journal: enabled: true # engine: # mmapv1: # wiredTiger: # where to write logging data. systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log # network interfaces net: port: 27017 # bindIp: 0.0.0.0 开启远程链接 # how the process runs processManagement: timeZoneInfo: /usr/share/zoneinfo #security: #operationProfiling: #replication: #sharding: ## Enterprise-Only Options: #auditLog: #snmp:
use admin #账户通常创建在固定的数据库下,这里创建在admin数据库下 # 创建管理员用户 db.createUser( { user: "admin", pwd: "123456", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) # 创建有可读写权限的用户. 对于一个特定的数据库, 比如\'demo\' db.createUser({ user: \'test\', pwd: \'123456\', roles: [{role: "read", db: "demo"}] })
2018-07-24
PS: 学习的目标
----------------------------------------
PS:
mongod 是mongodb的执行程序
mongo 链接服务器的客户端
mogoimport/mogoexport数据库的导入导出
mogodump、mogorestore数据的备份恢复
mogolog 日子数据的回访
mogostat查看数据库的状态
mongoDB Windows安装
#bind_ip_all = true # 任何机器可以连接 #bind_ip = 127.0.0.1,192.168.0.3 # 本机和192.168.0.3可以访问 port = 27017 # 实例运行在27017端口(默认) dbpath = C:\\Program Files\\MongoDB\\Server\\3.4\\data # 数据文件夹存放地址(db要预先创建) logpath = C:\\Program Files\\MongoDB\\Server\\3.4\\logs\\mongo.log # 日志文件地址 logappend = true # 启动时 添加还是重写日志文件 #fork = true # 是否后台运行 #auth = true # 开启校验用户
注册服务 mongod.exe --config "C:\\Program Files\\MongoDB\\Server\\3.4\\mongo.conf" --install
centos 6.7安装mongodb 这个讲解不太完整
然后按 ctrl+c退出
PS: 上面这波操作操作是说,使用mongo客户端连接数据库时,会有警告;然后重新连接,但是我链接是没有遇见这个警告
./bin/mongo 127.0.0.1:27017
--------------------------------------------------------------------------------------------------------------------------------------
PS: db. 是一个操作命令,代表当前数据库
PS : 替换文件就是先删除在添加 , set方式就是修改某个域
--------------------------------------------------基本操作
查看所有的数据库
PS:在mongodb中,将一个表称为一个集合 ,下图插入一条数据,数据格式默认为json
db.imooc_collection.insert({x:1})
PS: id是该数据库自己创建的全局唯一id, 也可以自己指定,但是不能重复
PS: 循环的插入数据,查看该标的总数; 查找过滤排序
----------------------------------update数据
PS: db.immoc_collection.update(原值,修改值)
如果多个数据不影响其他数据加上{set:修改值};不然会全部覆盖
db.immoc_collection.update(原值,修改值,true) 如果update不存在就自动创建一条数据
db.immoc_collection.update(原值,修改值,false,true) 批量修改相同数据
db.immoc_collection.remove(原值) 删除数据,可删除多条,不传参数全部delate
--------------------------------------------------------------------------------------------------------
PS :创建属性会影响写的速度,但是 查询的速度会明显的提升
PS:正在创建的这一条就是单件索引
PS :这会创建的就是多键索引
PS:上面输入的1.都只是规则,并不是确定的数字1
PS: 因为最小轮回时间是60s. 即使你指定小于60s,消失时间也是在60s之后的
PS:为了演示,弄了一篇文章的意思来模拟
PS: 第一个和第二个的区别就是指定字段的问题
PS: 全文索引只能创建一个
PS: 第一个查询是包含有;
第二个查询是或查询,空格就是或
第三个是或查询不包括cc
第四个是与操作,都包含
---------------------------------------------------------
-------------------
PS: 通过这个命令来保证,数据的唯一性;如果没有就插入,有则不插入
PS:默认情况下是稀疏的
------------------------------------------
PS : 查找方式的不同
1.Near
PS: near方法会返回离 1,1最近的100点, 可以用maxDistance指定最近的十个点
2.geoWithin
PS : 查找在所在范围中的 点
./mongostat -h 127.0.0.1:27017 开两个页面进行查询
MongoDb日志操作,可以通过verbose操作,v越多,日志越详细
explain 能够查询出来,本次查询的详细信息
-------------------------------------
--------------------------开启权限认证,正常 链接mongodb时候是没有输入账号和密码的,下面是指定账号和密码的方式
PS :
1.创建用户的时候,首先修改配置文件: 配置为true
2.使用sql创建用户; 创建好用户后,依然能登录,但是已经无法执行操作
以上是关于Mongodb学习的主要内容,如果未能解决你的问题,请参考以下文章
ios - Heroku 和 MongoDb 上的自定义解析服务器错误 3080:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项