- 在MongoDB数据库里面存在有数据库的概念, 但是没有模式的(所有的信息都是按照文档保存的 ), 保存数据的结构就是JSON结构, 只不过在进行一些数据处理的时候才会使用到MongoDB自己的一些操作符.
- 使用 mldn(名字自己定义)数据库
use mldn
- 实际上这个时候并不会创建数据库, 只有在数据库里面保存集合数据之后才能够真正创建数据库.
创建一个集合- 创建一个emp的集合
db.createCollection('emp')
这个时候mldn数据库才会真正存在.但是很多时候如果按照以上的代码形式进行操作会觉得你不正常( 没人会这么干 ) , 因为正常人使用MongoDB数据库集合操作的都是直接向里面保存一个数据
- 创建一个集合
db.dept.insert({'depto': 10, 'dname': '财务部', 'loc': '北京'})
4.查看所有集合
show collections
发现depto自动创建了
5.查看dept的数据
db.dept.find({若干条件})/db.dept.find()直接返回所有数据/db.dept.find().pretty()返回经过格式化后的数据
从传统的数据表来看(集合就相当于数据表的结构 ), 表的结构一旦定义就必须要按照其定义的要求进行内容的编写, 但是MongoDB不一样, 它可以随意扩充数据
6.增加不规则的数据
var deptData = {
’depto': 20,
'dname': '研发部',
'loc': '深证',
'count': 20,
'avg': 8000.00
}
db.dept.insert(deptData)
----------------------------------------------------
var deptData = {
'depto': 30,
'dname': '市场部'
}
db.dept.insert(deptData)
此时dept集合的内容可以由用户随意去定义, 完全不用考虑其他结构, 那么实际上就必须明确一点, 在MongoDB数据库之中是绝对不可能有查看集合的操作.
关于ID的问题
在MongoDB集合中的每一个记录都会自动生成一个“"_id" :ObjectId("55949a13eecd74894d19d8dc")”数据, 这个数据组成是: '时间戳' + '机器码' + PID + '计数器', 这个ID的信息是MongoDB数据自己为用户生成的查看单独的一个文档信息
db.dept.findOne()
9.删除数据
db.dept.remove({"_id" :ObjectId("55949a13eecd74894d19d8dc")})
10.更新数据
db.dept.update({若干条件}, {更新内容})
var deptData = {
'depto': 50,
'dname': '乞讨部',
'loc': '深证',
'count': 20,
'avg': 8000.00
}
db.dept.update({"_id" :ObjectId("55949a13eecd74894d19d8dc")}, deptDate)
- 另外 update 与 save 函数的区别在于
db.emp.insert({'_id': '1', 'qq': '232322', 'email': '3239089064@qq.com'})
当我继续未改变{'_id': '1'}, 想集合结构中插入数据时会显示报错.也就是在说插入相同的键值下,会报错.
db.emp.insert({'_id': '1', 'qq': '232322', 'email': '3239089064@qq.com'})
当我改为save操作时, 显示修改成功, 就是说 有这条数据就进行覆盖, 没有就插入
db.emp.save({'_id': '1', 'qq': '3239089064', 'email': '3239089064@qq.com'})
11.删除集合
语法: db.collection.drop()
db.dept.drop()
12.删除数据库(删除当前所在的数据库)
db.dropDatabase()
删除数据库是删除当前所在的数据库, 必须先切换到数据库后才可以删除.