[需要继续修改]MongoDB的简介

news/2024/5/20 2:22:12 标签: mysql, mongodb, hdfs

MongoDB是一个开源的,高性能,无模式(没有明显的列)的文档型数据库。它支持的数据结构非常松散,是一种类似于Json的格式叫做bson(二进制json)。

MongoDB的使用场景:传统数据库MySQL无法胜任的三高(High Performance, High Storage, High Scalability)场景。

High Performance, 对数据库高并发读写。

High Storage,对海量数据的高效率存储和访问需求。

High Scalability&Availability,对数据库的高可扩展和高可用。

具体场景:

1)社交场景,使用MongoDB存储用户信息以及朋友圈信息地理位置等。

2)游戏场景,使用MongoDB存储用户信息,装备积分等。

3)物流场景,使用MongoDB存储订单信息,订单状态在运送过程中会不断更新。

4)物联网场景,使用MongoDB存储所有接入的智能设备以及设备会报的日志信息。

5)视频直播,存储用户信息点赞信息等。

这些场景数据量大, 写入频繁,价值不较低对事务性要求不高。如没有金钱的相关信息。

什么时候选择MongoDB,应用不需要复杂的join,新应用无法确定数据模型的场景,需要高QPS,数据量在PB级别,需要快速水平扩展,需要大量的地理位置文本查询。

MongoDB的安装,可以安装在windows下也可以安装在Linux下。Windows可以msi安装也可以直接解压缩。Linux下直接解压缩即可。https://www.mongodb.com/try/download/community

对MongoDB的增删改查

插入     ${dbname}.${collectionname}.insert()
            ${dbname}.${collectionname}.insertOne()
            ${dbname}.${collectionname}.insertMany()

查找     ${dbname}.${collectionname}.find() 查询所有符合条件的文档。
            ${dbname}.${collectionname}.find()

修改     ${dbname}.${collectionname}.update({name},{age}) 默认情况下会使用新对象替换旧对象,update()默认值修改一条记录。
            ${dbname}.${collectionname}.updateOne({name},{$set:{age}}) $set增加属性 $unset删除属性。
            ${dbname}.${collectionname}.updateMany() 默认情况下会使用新对象替换旧对象。updateMany()默认值修改一条记录。

            ${dbname}.${collectionname}.replaceOne()
删除     ${dbname}.${collectionname}.remove()
            ${dbname}.${collectionname}.deleteOne()
            ${dbname}.${collectionname}.deleteMany()

Document之间的关系
   1对1
   1对多
   多对1
   多对多


http://www.niftyadmin.cn/n/877016.html

相关文章

Spark的安装配置(本地模式,standalone模式,standalone HA模式,on-yarn模式)

1)本地模式 1.1)下载安装包至MasterNode,并解压缩。 wget https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz tar -zxvf spark-3.1.2-bin-hadoop3.2.tgz 1.2) 修改~/.bash_profile文件&#xf…

敏捷开发(Agile),持续集成(Continuous Integration)简介

1)什么是持续集成? 1.1)软件开发生命周期(Software Development Life Cycle),它是集合了计划,开发, 测试和部署过程的集合。 1.2)需求分析,这是生命周期的第…

php+class的集成,类的封装集成

实例/*** 对象的三大特征: 封装,继承,多态* 对象三要素之一: 封装** 1.[封装]是指类中成员的访问进行限制,从而实现类的封装;* 2.类成员包括二类: 类属性, 类方法* 3.类成员的访问限制符(3p): public, protected, private* 4.类成员的访问应该通过公共接口(方法)进行,提高安全性…

CI环境搭建----gitlab的安装配置

比较吃内存,可以使用GitHub。 GitLab的安装 1)在gitlab服务器 66 安装gitlab依赖,并使sshd和postfix开机启动。 yum install policycoreutils openssh-server openssh-clients postfix systemctl enable sshd && systemctl start sshd systemc…

php5时区,PHP5设置时区方法大全

现有如下一段代码:$atimedate("Y-m-d H:i:s");echo $atime;输出:2010-02-03 06:36:06现在几点了?我的电脑时间为14:36,这是为什么呢?原因是假如你不在程序或配置文件中设置你的服务器当地时区的话,PHP所取的时间是格林威治标准时间,所以当地的时间和格林…

oracle日志表空间管理,Oracle:管理表空间

管理表空间在管理表空间时应遵循以下原则:1)使用多重表空间。采用多重表空间可使数据库操作更灵活。主要体现在以下方面: 将用户数据与数据字典数据相分离,并将不同表空间的数据文件分别存储在不同磁盘上可以降低I/O竞争。 将一个应用的…

CI环境搭建----Jenkins的安装配置

Jenkins的安装和配置(Centos 88服务器) 1)通过yum安装Jenkins sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key …

CI环境搭建----Maven的安装以及和Jenkins的集成

1)在Jenkins服务器(88)下载Maven安装包并解压缩。 [userNewBieSlave1 ~]$ clear [userNewBieSlave1 ~]$ wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz --2021-06-26 11:06:58-- h…