NoSQL数据库简介
RDBMS - 高度组织化结构化数据 - 结构化查询语言(SQL) (SQL) - 数据和关系都存储在单独的表中。 - 数据操纵语言,数据定义语言 - 严格的一致性- 基础事务。
NoSQL - 代表着不仅仅是SQL- 没有声明性查询语言- 没有预定义的模式- 键 - 值对存储,列存储,文档存储,图形数据库- 最终一致性,而非ACID属性- 非结构化和不可预知的数据- CAP定理 - 高性能,高可用性和可伸缩性。
1第一步选择你下载好的安装包(没有可以留言我给你)
安装很简单就是一步一步傻瓜式安装,记得你安装的文件放在那里就行了,我是默认安装
MongoDB官方下载地址:https://www.mongodb.com/download-center
安装之后是这个样子,但是里面的data和log是自己创建的
3配置环境变量
右键我的电脑,点击高级,点击环境变量然后找到path
测试是否配置环境变量成功,在控制台,输入mongo
以管理员身份打开CMD窗口;
进入MongoDB安装下的bin目录下,执行命令:
mongod -logpath “C:\mongodb\log\mongodb.log” -logappend -dbpath “C:\mongodb\data” --serviceName “mongodbService” –install
查看服务:services.msc
然后开启mongo DB服务,然后就可以了
可视化界面在可视化界面创建很多条数据
下面是一些基本命令
1)创建集合
db.createCollection(“集合名”);
(2)显示当前数据库中的集合
show collections 或db.getCollectionNames();
(3)使用集合
db.集合名
(4)查询当前集合的数据条数
db.集合名.count(“”);
(5)集合重命名
db.集合名.renameCollection(“新名”);
(6)删除当前集合
db.集合名.drop();
增加数据
db.文档名称.save() 或insert()
查询数据
db.文档名称.find()
修改数据
db.文档名称.update()
删除数据
db.文档名称.remove()
修改文档操作
db.stu.update({stu_id:1},{$set:{stu_age:24}},true,true,WriteConcern.safe);
删除文档操作
db.stu.remove({stu_id:1},true);
创建索引 例如: db.user.ensureIndex({stu_age:1}) db.user.ensureIndex({stu_name:1,stu_age:-1})
查询集合中所有索引 例如: db.user.getIndexes()
读取当前集合的所有Index信息
例如: db.user.reIndex()
删除指定索引
例如: db.user.dropIndexes()
ind() 举例: db.stu.find() db.stu.find().pretty() 结构化结果文档 db.stu.find({stu_id:1},{age:1}).
条件查询
(1) 与操作
db.user.find({“myName”:“joe”,“age”:16})
(2) 或操作$or
db.user.find({$or: [{age: 14}, {age: 28}]});
(3) 大于$gt
db.user.find({age: {$gt: 20}})
(4) 小于$lt
db.user.find({age: {$lt: 20}})
(5) 大于等于$gte
db.user.find({age: {KaTeX parse error: Expected 'EOF', got '}' at position 8: gte: 20}̲}) 小于等于lte
db.user.find({age: {$lte: 20}})
(7) 类型查询$type
使用方式如下:
db.user.find( { “myName” : { $type : 2 } } );
db.user.find( { “myName” : { $type : “string” } } );
(8) 是否存在$exists
db.user.find({“age”: {$exists: true}})
(9)取模$mod
db.user.find({“age”: {$mod : [10, 0]}});
(10) 不等于$ne
db.user.find({ “age” : { “$ne” : 23}})
特定类型查询
数组
(1)数组单元素查询
db.user.find({favorite_number:6});
(2)$all数组多元素查询
db.user.find({favorite_number : {$all : [6, 8]}});
(3)$size数组长度查询
db.user.find({favorite_number: {$size: 3}});