mongoDB非关系型数据库

  一句话解释:MongoDB是一个基于分布式文件存储的数据库。 由C++编写。旨在为web程序提供可扩展性高的高性能的数据存储解决方案

非关系数据库和关系型数据库的区别是什么?

  • 实质:非关系型数据库的实质:非关系型数据库产品是传统关系型数据库的功能阉割版,通过减少用不到或很少用的功能,来大幅度提高产品性能。
  • 价格:目前的非关系型数据库基本都是免费的,而比较有名气的关系型数据库都是收费的,比如:Oracle、DB2、MSSQL。MySql虽然是免费的,但是处理大型数据还是要提前作很多工作的。
  • 功能:实际开发中,很多业务需求,其实并不需要完整的关系型数据库功能,非关系型数据库的功能就足够使用了。这种情况下,使用性能更高、成本更低的非关系型数据库当然是更明智的选择。

概念性的区别如下表所示:

    了解关系型数据库和非关系型数据库的区别后,需要有一点的取舍,比较复杂和大型的项目不建议使用非关系型数据库,但是如果你想作个博客,CMS系统这类业务逻辑不复杂的程序,MongoDB是完全可以胜任的。

mongoDB的操作语句:

  

查看数据库列表 $ Show dbs   检查数据库

创建数据库    $ use 数据库名称

创建集合     $ db.createCollection(“集合名”)   // 集合 === 表

>{ok:1}

查看集合(一定先进入对应数据库再进行查看)

$ db.getCollectionNames()

>[‘集合名‘]

插入数据     $ db.集合名.insertOne(数据集合({}json形式的数据)) // 文档 === 列

>{

"acknowledged" : true,   //是否插入成功

"insertedId" : ObjectId("5aab2aaa93468a71aec836ce”)//插入的id

}

查看数据    $ db.music.find() 查看数据库中的数据

>

{ "_id" : ObjectId("5aab2aaa93468a71aec836ce"), "title" : "回娘家" }

{ "_id" : ObjectId("5aab2b5e93468a71aec836cf"), "title" : "再见理想" }

Help命令

db.help()   //db下的指令

db.test.help(); // db.test 下的所有指令

db.test.find().help(); //db.test.find下的所有指令

………强大的help指令

使用数据库

use  数据库名

查询数据陆

show dbs

查看当前使用的数据库

db/db.getName();

显示当前的数据库状态

db.stats();

查看当前db的版本

db.version();

查看数据库连接地址;

db.getMongo()

删除数据库

db.dropDatabase()

tip:删除当前使用的数据库。

集合(collection)操作

1.创建

createCollection(“collName”,{size:20,cappeu:true,max:10})

2.得到指定名称的集合

db.getCollection(“account”)

3.得到当前db所有的集合;

db.getCollectionNames()

4.显示当前db所有集合状态

db.printCollectionStats();

5.删除集合

db.COLLECTION_NAME.drop();

集合数据操作(添加,修改,删除)update | updateMany()

1.添加 insert([,…]|{key:value,...})

db.users.save({name:”zhangsan”,”age”:25,sex:true})

2.修改 updata(条件({}))

db.users.update({age:25},{$set:{name:”changeName”}},false,true)

相当于sql语句的  update users set name = “changeName” where age = 25;

db.users.update({name:”Lisi”},{$inc:{age:50}},false,true)

相当于sql语句的  update users set age = age + 50 where name =“lisi”

db.users.update({name:”Lisi”},{$inc:{age:50},$set:{name:’hoho’}},false,true)

相当于sql语句的 : update users set age = age + 50 ,name = ‘hoho’ where name = “lisi"

3.删除

db.users.remove({age:132})

db.users.delete()

db.users.deleteOne()

db.users.deleteMany()

豆瓣api api.douban.com/v12/movie/top369

豆瓣数据的操作:

获取到豆瓣的数据,然后将数据放入数据库之中。

查找对应数据;

db.movie.find(条件,显示内容)

db.movie.find({year:1994},{title:1,year:1,_id:0})//表示显示 title1 和 year1 _id不显示;

1.表示显示  0.表示不显示;

排序

根据评分排序:

db.movie.find({},{title:1,year:1,_id:0,‘rating.average‘:1}).sort({‘rating.average‘:-1})

条件判断:$gt 大于; $lt 小于; $gte 大于等于 $lte 小于等于;

db.movie.find({‘arting.average’:$gt:9.5},{title:1,year:1,_id:0,‘rating.average‘:1}).sort({‘rating.average‘:-1})

分类筛选:

$in 包含  $nin 不包含

db.movie.find({genres:{$in:["犯罪","剧情"]}},{title:1,year:1,_id:0,‘rating.average‘:1}).sort({‘rating.average‘:-1})

  

原文地址:https://www.cnblogs.com/fengch/p/8635591.html

时间: 2024-10-11 04:19:17

mongoDB非关系型数据库的相关文章

安装MongoDB非关系型数据库

安装MongoDB非关系型数据库 MongoDB基础 技能目标 理解MongoDB数据库的基本概念 学会安装MongoDB数据库 MongoDB概述 MongoDB是一款开源的文档数据库,并且是业内领先的NoSQL数据库,用C++编写而成 MongoDB简介 MongoDB是一款跨平台.面向文档的数据库.可以实现高性能,高可用性,并且能能够轻松拓展.在高负载的情况下,添加更多节点,可以保证服务器性能 MongoDB是一个介于关系型数据库和非关系数据库之间的产品,是非关系型数据库当中功能最丰富,最

MongoDB非关系型数据库开发手册

一:NoSql数据库 什么是NoSQL? NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称. NoSQL用于超大规模数据的存储.(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据).这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展. 为什么使用NoSQL ? 今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据.用户的个人信息,社交网络,地理

关系型数据库和非关系型数据库的区别和特点

关系型数据库 采用关系模型来组织数据结构的数据库(二维表) cle DB2 SQLServer Mysql SQLite都是关系型数据库 优点:容易理解,它的逻辑类似常见的表格 使用方便,都使用sql语句,sql语句非常的成熟 数据一致性高,冗余低,数据完整性好,便于操作 技术成熟,功能强大,支持很多复杂操作 缺点:*每次操作都要进行sql语句的解析,消耗较大 *不能很好的满足并发需求,特别是海量数据爆发,关系型 数据库读写能力会显得不足 *关系型数据库往往每一步都要进行加锁的操作,也造成了 数

大数据时代的数据存储,非关系型数据库MongoDB

在过去的很长一段时间中,关系型数据库(Relational Database Management System)一直是最主流的数据库解决方案,他运用真实世界中事物与关系来解释数据库中抽象的数据架构.然而,在信息技术爆炸式发展的今天,大数据已经成为了继云计算,物联网后新的技术革命,关系型数据库在处理大数据量时已经开始吃力,开发者只能通过不断地优化数据库来解决数据量的问题,但优化毕竟不是一个长期方案,所以人们提出了一种新的数据库解决方案来迎接大数据时代的到来——NoSQL(非关系型数据库). 为什

大数据时代的数据存储,非关系型数据库MongoDB(一)

爆炸式发展的NoSQL技术 在过去的很长一段时间中,关系型数据库(Relational Database Management System)一直是最主流的数据库解决方案,他运用真实世界中事物与关系来解释数据库中抽象的数据架构.然而,在信息技术爆炸式发展的今天,大数据已经成为了继云计算,物联网后新的技术革命,关系型数据库在处理大数据量时已经开始吃力,开发者只能通过不断地优化数据库来解决数据量的问题,但优化毕竟不是一个长期方案,所以人们提出了一种新的数据库解决方案来迎接大数据时代的到来——NoSQ

非关系型数据库MongoDB

爆炸式发展的NoSQL技术 在过去的很长一段时间中,关系型数据库(Relational Database Management System)一直是最主流的数据库解决方案,他运用真实世界中事物与关系来解释数据库中抽象的数据架构.然而,在信息技术爆炸式发展的今天,大数据已经成为了继云计算,物联网后新的技术革命,关系型数据库在处理大数据量时已经开始吃力,开发者只能通过不断地优化数据库来解决数据量的问题,但优化毕竟不是一个长期方案,所以人们提出了一种新的数据库解决方案来迎接大数据时代的到来——NoSQ

Python3网络爬虫实战-33、数据存储:非关系型数据库存储:MongoDB

NoSQL,全称 Not Only SQL,意为不仅仅是 SQL,泛指非关系型的数据库.NoSQL 是基于键值对的,而且不需要经过 SQL 层的解析,数据之间没有耦合性,性能非常高. 非关系型数据库又可以细分如下: 键值存储数据库,代表有 Redis, Voldemort, Oracle BDB 等. 列存储数据库,代表有 Cassandra, HBase, Riak 等. 文档型数据库,代表有 CouchDB, MongoDB 等. 图形数据库,代表有 Neo4J, InfoGrid, Inf

python爬虫11--文件存储之非关系型数据库存储MongoDB

NoSQL,Not Only SQL,不仅仅是SQL,泛指非关系型数据库,基于键值对的,不需要经过SQL层的解析,数据之间没有耦合性,性能高. 非关系型数据库细分如下: 键值存储数据库:Redis.Voldemort.Oracle BDB: 列表存储数据库:Cassandra.HBase.Riak: 文档型数据库:CouchDB.MongoDB: 图形数据库:Neo4j.InfoGrid.Infinite Graph. 爬虫数据使用非关系型数据库原因:简单高效.爬虫数据可能存在某些字段提取失败或

Spring Boot 从入门到精通(十)整合 MongoDB 实现读写非关系型数据库

来源:素文宅博客 地址:https://blog.yoodb.com/yoodb/article/detail/1578 MongoDB是一个开源的NoSQL文档数据库.它可以存储多种数据结构,类似JSON的BSON,可以存储复杂数据类型. Spring Boot为使用MongoDB提供了很多便利,包括spring-boot-starter-data-mongodb 'Starter POM'.本文学习一下Spring Boot中整合MongoDB数据库,来实现以不同方法读写MongoDB数据库