网站
Mongodb官网:www.mongodb.org
安装包下载 使用文档
Mongodb国内官方网站:www.mongoing.com
数据库概念
有组织的存放数据
按照不同的需求进行查询
数据库的分类
Sql 数据库:支持Sql语言的数据库
Oracle Mysql
NoSql数据库:不支持Sql语言的数据库
为什么是Mongodb
无数据结构限制
没有表结构的概念 每条记录可以有完全不同的结构
业务开发方便快捷
sql数据库需要事先定义表结构再使用
完全的索引支持
单键 多键索引
数组索引
全文索引
地理位置索引
方便的冗余和扩展
复制集保证数据安全
分片扩展数据规模
良好的支持
完善的文档
齐全的驱动支持
use imooc 使用imooc数据库
db.createCollection("imooc") 创建一个数据库
删除数据库
use accounts
db.dropDatabase()// 删除数据库 accounts
show dbs 展示数据库
删除集合
use accounts
coll = db.getCollection("accounts");
coll.drop();
db.集合名.方法
_id 可以自己传也可以不写 不能重复
插入一条数据
db.imooc_collection.insert({x:1})
for(var i = 0; i < 100; i++)db.imooc_collection.insert({x:i})
查询 默认查询所有
db.imooc_collection.find()
查询x:1
db.imooc_collection.find({x:1})
查询总条数
db.imooc_collection.find().count();
可以跳过n条 限制查询结果为m条 按照x排序
db.imooc_collection.skip(n).limit(m).sort({x:1});
更新
db.imooc_collection.update({x:1}, {x:999});
db.imooc_collection.update({x:1, y:1, z:1}, {x:999}) //会将对象替换掉 只剩下x:999
db.imooc_collection.update({x:1, y:1, z:1}, {$set: {x:999}}); //单独更新
更新不存在数据
当{y:100} 这条数据不存在的时候 以下命令 不会做出更新
db.imooc_collection.update({y:100}, {$set: {y:999}})
如果想在{y:100} 存在的情况下 更新数据 不存在的时候 创建数据
db.imooc_collection.update({y:100}, {$set:{y:999}}, true)
更新数据
for(var i =0; i < 3; i++)db.imooc_collection.insert({x:1});
db.imooc_collection.find({x:1}) //三条数据
db.imooc_collection.update({x:1}, {$set: {x:2}}, fasle)
//false代表不存在不对数据进行操作 true不存在创建一条数据
//以上结果只 更新了第一条数据的x:1-->x:2 应该执行以下操作
db.imooc_collection.upadte({x:1}, {$set: {x:2}}, false, true) //把所有的x:1的数据都变成x:2
删除操作 需要传递参数 参数不能为空
db.imooc_collection.remove() //报错
db.imooc_collection.remove({x:1}) //默认删除所有的x:1的数据