MongoDB

社会主义新天地 提交于 2019-12-13 08:38:37

mongodb

数据库

1.什么是数据库?

  • 存储数据的一个仓库

2.数据库的分类,以及它的代表

  • 关系型数据库【SQL】
    代表:mysql
  • 非关系型数据库【NOSQL】
    代表:nosql

3.如何区分一个数据库属于哪个类别

  • 经验:根据有无表来区分;有表是SQL,没有表是NOSQL

4.数据库构成

  • 关系型数据库
    • 数据库 ->表->行
  • 非关系型数据库
    • 数据库->集合->文档

MongoDB

1.概念:基于分布式文件存储的数据库

  • 分布式算法指的是将一个大型的任务进行分解,将每一个小任务的执行结果组合起来,返回一个整体
    -优点:
  • 面向集合存储,易存储对象类型的数据。
  • 模式自由。
  • 支持动态查询。
  • 支持完全索引,包含内部对象。
  • 支持查询。
  • 支持复制和故障恢复。
  • 使用高效的二进制数据存储,包括大型对象(如视频等)。
  • 自动处理碎片,以支持云计算层次的扩展性
  • 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。
  • 文件存储格式为BSON(一种JSON的扩展)

2.常用命令:

  • 删除数据

创建名为web的集合,并新增数据:
db.web.save({"name":"老李"});db.web.insert({“name”:"老李"}
区别
若新增的数据主键已存在,save()会修改原来的内容为新内容,insert()不会操作并提示错误

  • 删除数据

db.users.remove({}) 删除users集合下的所有数据
db.users.remove({"name": "lecaf"})   删除users集合下name=”lecaf”的数据
db.users.drop()或db.runCommand({"drop":"users"})     删除集合users
db.runCommand({"dropDatabase": 1})     删除当前数据库

  • 查找数据

db.users.find() 查找users集合中的所有数据
db.users.findOne() 查找users集合中的第一条数据
db.users.find().pretty() 格式化查找users集合里的所有数据
$gt : > ; $lt < ; $gte >= ; $lte <=;
排序:db.webs.find().sort({age:-1})
截取:db.webs.find().limit(2)
注意: 若取最后两条数据,可以先倒序再截取

  • 修改数据

db.web.update({"name":"a1"}, {$set: {sex:”women”}},true,true)
参数一:查找条件;
参数二:修改内容;注意:主键不可修改;
参数三:表示匹配所有符合条件的数据;
参数四:表示修改所有匹配到的数据,若为false,则为搜索到的第一条数据

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!