资讯专栏INFORMATION COLUMN

从0到1操作Mongodb数据库

wind3110991 / 1331人阅读

摘要:可想而知,大数据时代,数据库中有条数据都算少的,如果我们要动字段,时间太长,所以,字段这个东西,太不灵活数据不灵活。数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

数据库有很多,当然常用的也有很多,我们这里挑选两个类别下面主流的数据库进行分析讲解
为什么使用数据库

我们已经多次说明了数据库的重要性,今天的开篇还是以数据库的重要性开题,数据库就是存储数据的,那么存储数据用txt就行了啊,为什么要用数据库?

理由之1:数据库有行、列的概念,数据由关系,数据不是散的。
理由之2:数据库能够提供非常方便的接口,让增删改查操作变得简单
理由之3:数据库不能自己玩儿,要向PHP/NET/JSP等语言提供接口

理解关系型和非关系型数据库 关系型数据库

数据库按照大类分为关系型数据库(也叫结构型数据库)和非关系型数据库

常用的关系型数据库有:MySQL(使用人数最多的开源数据库),SQL SERVER、Oracle、Access

这些数据库典型的特点就是每个表中都有明确的字段,每行记录,都有这些字段,不能有的行有,有的行没有

但是这个有什么问题呢?

比如,我们现在想往一个已经有1000条数据的数据库中增加一个字段,之前已经存在的数据,实际上不需要增加这个字段,因为用户已经填写完表单,不需要再用高中信息了,我们的意图就是在今后注册的用户,需要填写高中信息。但是我们刚刚说了,所谓的字段,是表的一个结构,所有的行都必须拥有,不能有的行有这个字段,有的行没有这个字段。

可想而知,大数据时代,数据库中有100w条数据都算少的,如果我们要动字段,时间太长,所以,字段这个东西,太不灵活

数据不灵活。一个字段,需要是同样类型的数据,不能一行记录是文本,一行记录是数字

NOSQL

引用一段百度百科的官方回答什么是NOSQL:
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

我们来对比下关系型数据库和NOSQL

非结构型数据库,没有行、列的概念,用JSON来存储数据。集合就相当于“表” ,文档就相当于“行” ,文档就是JSON

因此,我们总结NoSQL数据库在以下的这几种情况下比较适用:
1、数据模型比较简单;
2、需要灵活性更强的IT系统;
3、对数据库性能要求较高;
4、不需要高度的数据一致性;
5、对于给定key,比较容易映射复杂值的环境。

我们看,有些系统,特别需要筛选,比如,筛选出所有女生大于20岁的,那么SQL型数据库,非常擅长!因为有行、列的概念。但是有些系统,真的不需要进行那么多的筛选,比如站内信,站内信只需要存储就好了。不需要筛选,那么就是Nosql擅长的。

所以任何技术都有自己的应用场景,并不单纯的评判好与不好

mongodb命令行操作

首先cmd启动后,输入mongo 进入到mongo环境,或者找到mongo的安装路径bin下有一个mongo.exe 双击运行也可以

1.列出所有数据库:show dbs
2.使用某个数据库:use 数据库名
3.如果想新建数据,也是use ,use 一个不存在的,就是新建
注意:数据库为了防止我们误操作,并不会真的创建,如果想着你的创建,那么必须插入一个数据,数据库中不能直接插入数据,只能往集合(Collection)中插入数据,不需要创建集合,只需要写点语法:db.student.insert({"name“:”xiaoming"}) 系统发现studnet是一个陌生的集合的名字,所以就自动创建了集合
4.查看当前所在数据库:db
5.db.student.insert({"name":"zhnagsna","age":12,"sex":"man"}) student就是所谓的集合,集合中存储着很多JSON。db.一个未知的集合名字,这个集合将自动创建
6.列出当前所有集合:show collections
7.列出数据:db.student.find()
8.删除数据库,删除当前所在的数据库:db.dropDatabase(); 注意大小写
9.更新数据 db.集合名.update({name:"hr"},{name:"mnc"})
10.删除集合中的数据:db.集合名.remove(删除的文档的条件)
11.删除集合:db.集合名.drop()

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19175.html

相关文章

  • 手把手教你 MongoDB 的安装与详细使用(二)

    摘要:实例教程是一个数据库搜云库教程专注于开发技术的研究与知识分享方法中你也可以设置使用多个字段创建索引关系型数据库中称作复合索引。 上一篇文章练习了,MongoDB 的以下操作 安装 MongoDB 服务 连接 MongoDB MongoDB 创建数据库 MongoDB 删除数据库 MongoDB 插入文档 MongoDB 删除文档 MongoDB 查询文档 MongoDB AND 条件...

    jayzou 评论0 收藏0
  • MongoDB副本集其他细节

    摘要:当一个原本运行正常的成员无法访问到时,该成员就处于的状态。成员被从副本集中移除时就变成这个状态。表示当前服务器最后一次收到其他成员心跳的时间。表示同步的数据源。 副本集环境的搭建以及一些基本的操作我们都了解了,本文我们来看看这个数据复制到底是怎么实现的。 本文是MongoDB系列的第十七篇文章,了解前面的文章有助于更好的理解本文: 1.Linux上安装MongoDB 2.Mon...

    Flink_China 评论0 收藏0
  • 深入浅出MongoDB 复制

    摘要:申明本文由笔者首发于深入浅出复制中文社区深入浅出复制由于自己开了,所以将之前比较好的文章挪过来便于大家浏览。新增由于网络问题导致失败重试机制。 申明 本文由笔者首发于InfoQ:《深入浅出MongoDB复制》MongoDB中文社区:《深入浅出MongoDB复制》 由于自己开了blog,所以将之前比较好的文章挪过来便于大家浏览。 综述 笔者最近在生产环境中遇到许多复制相关问题,查阅网上资...

    Jacendfeng 评论0 收藏0
  • MongoDBmongodb安装及常用操作命令

    摘要:二中常用命令显示数据库列表显示当前数据库中的集合类似关系数据库中的表显示用户切换当前数据库,如果数据库不存在则创建数据库。注意操作同时可以创建数据库,如果一个不存在的数据库名,则执行后,会创建对应数据库。如果指定字段,则会更新该的数据。 ..............................................................................

    fish 评论0 收藏0
  • mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    摘要:集合名命名规范集合名不能是空字符串。集合名不能含有字符空字符,这个字符表示集合名的结尾。集合名不能以开头,这是为系统集合保留的前缀。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。 原始文章链接 - 我的博客:http://www.lovebxm.com/2017/0... MongoDB - 简介 官网:https://www.mongodb.com/ ...

    Java3y 评论0 收藏0
  • MongoDBMongoDB复制集原理

    摘要:另外,支持对复制集的节点进行灵活的配置,以适应多种场景的需求。节点只参与投票,不能被选为,并且不从同步数据。节点不能被选为主为,并且对不可见。根据各集合的设置,在上为相应集合创建。 复制集简介 Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary,Second...

    baiy 评论0 收藏0

发表评论

0条评论

wind3110991

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<