3.MongoDB基础操作( 重点 )

  • 在MongoDB数据库里面存在有数据库的概念, 但是没有模式的(所有的信息都是按照文档保存的 ), 保存数据的结构就是JSON结构, 只不过在进行一些数据处理的时候才会使用到MongoDB自己的一些操作符.
  1. 使用 mldn(名字自己定义)数据库

use mldn

  • 实际上这个时候并不会创建数据库, 只有在数据库里面保存集合数据之后才能够真正创建数据库.
  1. 创建一个集合- 创建一个emp的集合
    db.createCollection('emp')
    这个时候mldn数据库才会真正存在.

  2. 但是很多时候如果按照以上的代码形式进行操作会觉得你不正常( 没人会这么干 ) , 因为正常人使用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数据库之中是绝对不可能有查看集合的操作.

  1. 关于ID的问题
    在MongoDB集合中的每一个记录都会自动生成一个“"_id" :ObjectId("55949a13eecd74894d19d8dc")”数据, 这个数据组成是: '时间戳' + '机器码' + PID + '计数器', 这个ID的信息是MongoDB数据自己为用户生成的

  2. 查看单独的一个文档信息

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': '[email protected]'})
当我继续未改变{'_id': '1'}, 想集合结构中插入数据时会显示报错.也就是在说插入相同的键值下,会报错.
db.emp.insert({'_id': '1', 'qq': '232322', 'email': '[email protected]'})
当我改为save操作时, 显示修改成功, 就是说 有这条数据就进行覆盖, 没有就插入
db.emp.save({'_id': '1', 'qq': '3239089064', 'email': '[email protected]'})

11.删除集合
语法: db.collection.drop()

db.dept.drop()

12.删除数据库(删除当前所在的数据库)

db.dropDatabase()

删除数据库是删除当前所在的数据库, 必须先切换到数据库后才可以删除.

你可能感兴趣的:(3.MongoDB基础操作( 重点 ))