1、介绍
nosql(no only sql),不仅仅sql,非关系型数据库
mysql:1000万条以内
Oracle:几亿到几十亿
mongodb:单表储存可以是pb 1024T
数据库 database
集合 collection
文档 document
字段、域 field
索引 index
主键 primary key
2、安装与使用
mongodb分为两端
服务器端:mongod
客户端:mongo
下载完之后将文件放入/opt/即可
设置全局变量
export PATH=<>/bin:$PATH
<mongodb-install-directory> 为你 MongoDB 的安装路径。如本文的 /usr/local/mongodb 。
使用
mongod --dbpath=数据文件存放路径
--dblog=日志文件存放 --install
3.简单操作
无状态模式,不用设计,直接用,存什么东西取决域前面传后面
db.getName()//获取当前数据库名称
use XXX //创建数据库
db.stats()//查看当前数据库信息
db.version() //查看数据库版本
db.help()//查看数据库帮助信息
mongodb数据库格式:类似于json
插入数据 db.goods.insert({name:"huawei",price:"1000",weight:"156",number:"35"})
查找 db.goods.find()
多维数据的添加
db.goods.insert({goods:"xiaomi",area:{prvince:"jiangsu",city:"nanjing"}})
数组信息添加
db.goods.insert({goods:"xiaomi",area:{prvince:"jiangsu",city:"nanjing"},color:["red","green"]})
4、数据查询
笼统方式查询
查询全部数据db.goods.find()
查询一条数据 db.goods.findOne();
添加限制查询
db.goods.find({name:"huawei"})//{加条件}
db.goods.findOne({name:"huawei"})//{加条件} 返回第一条数据
范围条件查询
$gt 大于
$gte 大于等于
$lt 小于
$lte 小于等于
单个条件 db.goods.find({price:{"$gte":100}}) //gte左右均有引号
多个条件 db.goods.find({price:{"$gte":100},weight:{"$lt":100}})
固定条件 db.goods.find({price:{"$gte":100},weight:100})
多维字段查询
db.goods.find("area.city":"nanjing")//{key.name:值}
数组条件查询
db.goods.find({color:"red"})//数组:满足其中一个元素即可
db.goods.find({color:{"$all":["red","green"]}})//多个条件都要满足
多个条件 满足其中一个即可
db.goods.find({"$or":[{color:"red"},{price:"1000"}]})
显示部分内容
db.goods.find({price:2000},{name:1,area:1})//1输出 0不输出,id可以随意设置,其他的字段只能全是0或者全是1 不能一个0一个1
4、修改数据库操作
格式db.goods.update({条件},{{"$set":{修改字段}})
db.goods.update({条件},{修改字段})
$set 只修改部分字段 其他字段不修改
没有$set 修改需要修改的字段 其他字段删除
字段有则修改 没有就添加字段
5、删除数据
db.goods.remove({})//满足条件全部删除