一.Mongodb基本介绍
Mongodb:是一个nosql的数据库的一种数据库,他是介于关系型数据库与非关系型数据库之间的一种数据库,也可以理解为它是介于Redis与Mysql之间的一种数据库。它是由大数据时代的3V,与互联网需求的三高而产生出来的。
3V:海量Volume ,多样Variety ,实时Velocity
高并发,高可扩,高性能
1.与传统数据库相比
注:
Mongodb 数据10亿加的数据处理不了了,的使用HBASE。
是关系型数据库和非关系型数据库的一种。
2.Dcoker安装
- docker run -d --name mongo1 -p 27017:27017 mongo
-
- 进入:docker exec -it 容器id /bin/bash
二.数据操作
1.基本操作
- --查询数据库
- show databases
-
- --切换数据库
- use test
-
- --查询当前数据库下面的集合
- show collections
-
- --创建集合
- db.createCollection("test111")
-
- --删除集合
- db.test111.drop();
-
- --删除数据库(首先要通过use切换到当前的数据库)
- db.dropDatabase();
2.mongodb增删改查(CRUD)
id 系统会自动加一个
时间戳+机器码 生成
1.增(inster)
MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:
db.COLLECTION_NAME.insert(document) 或 db.COLLECTION_NAME.save(document)
- --新增文档实例
- db.col.insert({title: 'MongoDB 教程',
- description: 'MongoDB 是一个 Nosql 数据库',
- by: '菜鸟教程',
- url: 'http://www.runoob.com',
- tags: ['mongodb', 'database', 'NoSQL'],
- likes: 100
- })
-
- --查看已经插入的文档
- db.col.find()
-
- --我们可以把数据定义成变量
- document=({title: 'MongoDB 教程',
- description: 'MongoDB 是一个 Nosql 数据库',
- by: '菜鸟教程',
- url: 'http://www.runoob.com',
- tags: ['mongodb', 'database', 'NoSQL'],
- likes: 100
- });
-
- --执行插入文档的操作
- db.col.insert(document)
2.更新
- --mongodb更新操作
- --实例
- --在集合col中插入如下数据:
- db.col.insert({
- title: 'MongoDB 教程',
- description: 'MongoDB 是一个 Nosql 数据库',
- by: '菜鸟教程',
- url: 'http://www.runoob.com',
- tags: ['mongodb', 'database', 'NoSQL'],
- likes: 100
- })
-
- --接着我们通过update()方法来更新标题(title)
- db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
- --以上的方法 只会更新一条
- --下面这个方法 可以更新多条
- db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
- --save方法
- db.col.save({
- "_id" : ObjectId("634f578a740f000030002ec5"),
- "title" : "MongoDB111",
- "description" : "MongoDB 是一个 Nosql 数据库",
- "by" : "Runoob",
- "url" : "http://www.runoob.com",
- "tags" : [
- "mongodb",
- "NoSQL"
- ],
- "likes" : 110
- })
3.删除文档
- --删除文档操作
- db.col.remove({'title':'MongoDB 教程'})
4.查询