mongodb的介绍与基本操作

目录

一、mongoDB简介

1、mongoDB的介绍

2、mongoDB的基本概念

  (1)数据库:

(2)集合(table):

(3)文档 (行数据):

(4)主键:

3. MongoDB的应用场景

二、数据库的操作 

1、创建数据库

2、集合操作

1、创建集合

2、删除集合

2、文档操作

1、文档插入

2、 删除文档

 3、文档更新

4、文档简单查询

​编辑 3、语句操作符:

4、逻辑操作符


一、mongoDB简介


1、mongoDB的介绍

mongoDB是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。它介于关系数据库和非关系数据库之间,被认为是非关系数据库当中功能最丰富,最像关系数据库的产品。

2、mongoDB的基本概念

  (1)数据库:

      数据库和传统的关系型数据库差不多的概念,每个数据库含有多个集合,每个数据库最后会作为文件储存至服务器中,另外还有一些特殊的数据库进行了保留如下:

        admin:类似于root数据库,如果将用户添加至admin数据库将获取所有数据库的权限,其中一些比如查找所有数据库、关闭服务器的服务端命令只能从这里运行。

        local:存储当前服务器所有本地集合的数据库,永远不可以复制。

        config:主要是存储分片等信息

(2)集合(table):

在MongoDB中,数据是以文档的形式存储的,文档是一个键值对的集合,并且文档支持嵌套和数组。MongoDB中的一个文档相当于关系型数据库中的一行,多个文档构成了集合(collection),集合类似于关系型数据库中的表。

(3)文档 (行数据):

      文档则相当于传统关系型数据的行数据,对于集合中的介绍,我们基本也了解到了集合的结构并非是非常固定的结构,但是对于其中还是要注意,文档不能出现相同名称的属性。

(4)主键:

     主键是MongoDB比较特殊的存在,对于MongoDB是一定会有一个唯一性的Id,你可以使用一个确定的Id值,也可以不进行设置,由MongoDB生成一个唯一的ObjectId作为Id。

3. MongoDB的应用场景

(1)MongoDB可以解决传统数据库不好解决的三高问题 High performance - 对数据库高并发读写的需求 HugeStorage - 对海量数据的高效率存储和访问的需求 High Scalability && High Availability-
对数据库的高可扩展性和高可用性的需求

(2)MongoDB应用场景特点 数据量大; 读写操作频繁; 不需要复杂的事务和join操作;数据价值较低,对事务要求不高

(3)常见实际应用场景

①游戏场景
使用MongoDB存储游戏用户信息、装备、积分等,直接以内嵌文档的形式存储,方便查询、更新。

②物流场景
使用MongoDB存储订单信息、订单状态、物流信息,订单状态在运送过程中飞速迭代、以MongoDB内嵌数组的形式来存储,一次查询就能将订单所有的变更查出来。


③社交场景 使用MongoDB存储用户信息,朋友圈信息,通过地理位置索引实现附近的人、定位功能。

④大数据应用 使用云数据库MongoDB作为大数据的云存储系统,随时进行数据提取分析,掌握行业动态。

二、数据库的操作


1、创建数据库

2、集合操作

1、创建集合

db.createCollection(COLLECTION NAME, [OPTIONS])

2、删除集合

db.COLLECTION NAME.drop()

2、文档操作

1、文档插入

使用insert方法

语法(单文档插入)

db.COLLECTION NAME.insert(document)
或者

db.COLLECTION NAME.save(document)
语法(多文档插入)
db.COLLECTION NAME.insertMany([document1,document2,...])

2、 删除文档

删除当前数据库中的其中一个文档

db.COLLECTION NAME.deleteOne({document })
删除当前数据库中所有文档

db.COLLECTION NAME.deleteMany({})

 3、文档更新

db.集合名.update(条件, 新数据){修改器: {键:值}} 

db.COLLECTION NAME.update(criteria,objNew,upsert, multi)

修改器作用
$inc递增
$rename重命名列
$set修改列值
$unset删除列

4、文档简单查询

 查询所有文档语法

db.COLLECTION NAME.find()
查询所有文档,以易读的方式展示
db.COLLECTION NAME.find().pretty()

 

 3、语句操作符:

 以下为MongoDB的基本语句操作符:

操作  格式   
等于  {<key>:<value>}
小于        {<key>:{$lt:<value>}}
小于或等于     {<key>:{$lte:<value>}}
大于    {<key>:{$gt:<value>}}
大于或等于       {<key>:{$gte:<value>}}

1.4查询价格大于5的商品数据

1.5查询quantity为10且价格大于等于5的商品数据

4、逻辑操作符

以下为MongoDB的逻辑操作符:

常见管道操作符相关说明
$group将集合中的文档进行分组,便于后续统计结果
$limit用于限制MongoDB聚合管道返回的文档数
$match用于过滤数据,只输出符合条件的文档
$sort将输入的文档先进行排序,再输出
$project用于修改输入文档的结构(增加、删除字段等)和名称
$skip在聚合管道中跳过指定数量的文档,并返回剩余的文档

1使用聚合aggregate:统计订单中所有商品的数量,即统计quantity的总

2使用聚合aggregate:通过产品类型来进行分组,然后在统计卖出的数量

3使用聚合aggregate:通过相同的产品类型来进行分组,然后查询相同产品类型卖出最多的订单详情。

4使用聚合aggregate:通过相同的产品类型来进行分组,统计各个产品数量,然后获取最大的数量。

  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值