mongoDB学习
安装:
- 去官网下载,得到tgz包,解压放到
/usr/local/
下 - 配置~/.bash_profile,在path上增加mongodb/bin的路径。
- source ~/.bash_profile一下。刷新配置
- 创建一个
/data/db
的文件夹,并将权限改为777:chmod 777 /data
- 就此安装完成
还有一步到位的方式:brew cask install mongodb
使用
启动mongoDB服务端:mongod
启动服务端。
此时打开localhost:27017若出现 It looks like you are trying to access MongoDB over HTTP on the native driver port.
说明启动完毕。
打开另外一个终端。输入mongo
进入到命令行
概念
- 文档是mongodb中的基本数据单元,相当于mysql中的一条记录,通常以json格式显示,以bson格式存储
- 多个键值对的有序存放在一起就是文档。
- 文档中的值可以是字符串,数值类型,还可以是其它的文档;
- 键是字符串,键可以是任意UTF-8字符;
- 键不能含有\0空字符,空字符表示结束;
- .和$作为保留字,不能作为键名称中的字符;
- _下划线也不建议作为键名称中的字符;
- 默认区分大小写;
- 文档中不允许重复的键;
- 集合相当于rdb中的表,这里的表没有模式定义
- 集合就是一组文档
- 集合名不能是空字符串“”
- 集合名不能含有\0空字符
- 集合名不能以system开头
- 集合名不能含有$
- 集合通常以.分开,划分子集合;
命令行:
show dbs //显示数据库
use byc //使用某个数据库,如果不存在则创建数据库,并创建同名的一个集合
db.byc.insert({‘name’:’byc’}) //插入一条记录
db.byc.find() //查找所有记录
db.byc.findone() //查找一条记录
db.dropDatabase() //删除数据库
db.byc.drop //删除指定集合
show collections //显示所有集合
db.createColletion(‘byc’) //创建集合
db.byc.save({}) //插入记录
db.byc.update({‘_id’,1},{$set:{name:’byc’,age:20}})
db.byc.remove({}) //删除所有集合
for(var i=1;i<=10;i++){db.byc.insert({"name":"king"+i,"age":i})} //循环插入10条记录
db.byc.find().pretty() //格式化显示查询结果
db.byc.find().count() //查询数据条数
db.byc.find({"age":5}) /查找age是5的条目
db.byc.find({“age”:{$gt:5}}) //查找age大于5的条目
db.byc.find({"age":{$gt:5}}).sort({"age":1}) //查找age大于5的条目且升序排列
db.byc.find({"age":{$gt:5}}).sort({"age":1}) //查找age大于5的条目且升序排列
db.byc.find({"age":{$gt:5}}).sort({"age”:-1}) //查找age大于5的条目且降序排列