MongoDB理论知识+MongoDB安装与启动+使用MongoDB常用命令

MongoDB的安装和启动 --- typora-copy-images-to: media --- # MongoDB的安装与启动 MongoDB是一款非关系型数据库,在前端开发中使用较多。但他的安装方式和启动方式在很多情况会造成我们使用的困扰,今天,由我来给大家分享一些关于MongoDB在windows系统中的安装与启动方式,希望可以帮助通晓他的使用以及跳过他安装启动的一些坑。 在windows系统中,软件的安装方式有两种,MongoDB也不例外: 1. **二进制码软件安装** 指我们下载的安装包是msi的文件,双击后 阅读详情

MongoDB理论知识+MongoDB安装与启动+使用MongoDB常用命令

本篇博客讲带大家了解MongoDB的理论知识,然后进行window系统MongoDB安装,Docker 环境下MongoDB安装。

什么是MongoDB

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。

​MongoDB 同时也可以说是一个跨平台的,面向文档的数据库,是当前 NoSQL 数据库产品中最热门的一种。它介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的产品。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

在高负载的情况下,添加更多的节点,可以保证服务器性能。

MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

​MongoDB 的官方网站地址是:http://www.mongodb.org/

MongoDB特点

​MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它是一个面向集合的,模式自由的文档型数据库。具体特点总结如下:

(1)面向集合存储,易于存储对象类型的数据

(2)模式自由

(3)支持动态查询

(4)支持完全索引,包含内部对象

(5)支持复制和故障恢复

(6)使用高效的二进制数据存储,包括大型对象(如视频等)

(7)自动处理碎片,以支持云计算层次的扩展性

(8)支持 Python,PHP,Ruby,Java,C,C#,Javascript,Perl 及 C++语言的驱动程序,
社区中也提供了对 Erlang 及.NET 等平台的驱动程序

(9) 文件存储格式为 BSON(一种 JSON 的扩展)

MongoDB体系结构

MongoDB的逻辑结构是一种层次结构。主要由:

文档(document)、集合(collection)、数据库(database)这三部分组成的。逻辑结构是面向用户的,用户使用 MongoDB 开发应用程序使用的就是逻辑结构。

(1)MongoDB 的文档(document),相当于关系数据库中的一行记录。

(2)多个文档组成一个集合(collection),相当于关系数据库的表。

(3)多个集合(collection),逻辑上组织在一起,就是数据库(database)。

(4)一个 MongoDB 实例支持多个数据库(database)。

文档(document)、集合(collection)、数据库(database)的层次结构如下图:


下表是MongoDB与MySQL数据库逻辑结构概念的对比

MongoDB数据类型
基本数据类型

null:用于表示空值或者不存在的字段,{“x”:null}

布尔型:布尔类型有两个值true和false,{“x”:true}

数值:shell默认使用64为浮点型数值。{“x”:3.14}或{“x”:3}。对于整型值,可以使用NumberInt(4字节符号整数)或NumberLong(8字节符号整数), {“x”:NumberInt(“3”)}{“x”:NumberLong(“3”)}

字符串:UTF-8字符串都可以表示为字符串类型的数据,{“x”:“呵呵”}

日期:日期被存储为自新纪元依赖经过的毫秒数,不存储时区,{“x”:new Date()}

正则表达式:查询时,使用正则表达式作为限定条件,语法与JavaScript的正则表达式相同,{“x”: /[abc]/}

数组:数据列表或数据集可以表示为数组,{“x”: [“a“,“b”,”c”]}

内嵌文档:文档可以嵌套其他文档,被嵌套的文档作为值来处理,{“x”:{“y”:3 }} 对象Id:对象id是一个12字节的字符串,是文档的唯一标识,{“x”: objectId() }

二进制数据:二进制数据是一个任意字节的字符串。它不能直接在shell中使用。如果要将非utf-字符保存到数据库中,二进制数据是唯一的方式。

代码:查询和文档中可以包括任何JavaScript代码,{“x”:function(){/…/}}

什么样的功能适合使用MongoDB

吐槽和评论两项功能存在以下特点:

(1)数据量大

(2)写入操作频繁

(3)价值较低

对于这样的数据,我们更适合使用MongoDB来实现数据的存储

MongoDB安装与启动
window系统MongoDB安装

双击"mongodb-win32-x86_64-2008plus-ssl-3.2.10-signed.msi” 按照提示步骤安装即可。安装完成后,软件会安装在C:\Program Files\MongoDB 目录中。

我们要启动的服务程序就是C:\Program Files\MongoDB\Server\3.2\bin目录下的mongod.exe,为了方便我们每次启动,我将C:\Program Files\MongoDB\Server\3.2\bin 设置到环境变量path中。

启动

(1)首先打开命令提示符,创建一个用于存放数据的目录

md d:\data

(2)启动服务

mongod ‐‐dbpath=d:\data(data文件的路径)

我们在启动信息中可以看到,mongoDB的默认端口是27017

如果我们想改变默认的启动端口,可以通过–port来指定端口

在命令提示符输入以下命令即可完成登陆

mongo

退出mongodb

exit
Docker 环境下MongoDB安装

在宿主机创建mongo容器

docker run --name mongodb -p 27017:27017 -d mongo


远程登陆

在bin目录下打开cmd,输入命令

mongo 192.168.184.134

MongoDB常用命令

选择和创建数据库的语法格式:use 数据库名称

如果数据库不存在则自动创建

以下语句创建student数据库

use student

插入文档的语法格式:db.集合名称.insert(数据)

以下语句插入文档数据

db.student.insert({"_id":1,"name":"宋政宏","sex":"男","age":25,"introduce":"帅哥"})

查询集合的语法格式:db.集合名称.find()

如果我们要查询student集合的所有文档,我们输入以下命令:

db.spit.find()

这里你会发现每条文档会有一个叫_id的字段,这个相当于我们原来关系数据库中表的主键,当你在插入文档记录时没有指定该字段,MongoDB会自动创建,其类型是ObjectID类型。如果我们在插入文档记录时指定该字段也可以,其类型可以是ObjectID类型,也可以是MongoDB支持的任意类型。

上述操作如图:
在这里插入图片描述
输入以下测试语句:

db.student.insert({"_id":2,"name":"吴语","sex":"男","age":23,"introduce":"中庸"})
db.student.insert({"_id":3,"name":"华楠","sex":"女","age":21,"introduce":"女神"})
db.student.insert({"_id":4,"name":"山蒲","sex":"男","age":24,"introduce":"小胖"})
db.student.insert({"_id":5,"name":"穆斯","sex":"男","age":26,"introduce":"男神"})

如果我想按一定条件来查询,比如我想查询age为25的记录,怎么办?很简单!只要在find()中添加参数即可,参数也是json格式,如下:

db.student.find({"age":25})

如果你只需要返回符合条件的第一条数据,我们可以使用findOne命令来实现

db.student.findOne({"age":25})

如果你想返回指定条数的记录,可以在find方法后调用limit来返回结果,例如:

db.student.find().limit(3)

修改文档的语法结构:db.集合名称.update(条件,修改后的数据)

如果我们想修改_id为1的记录,年龄为26,输入以下语句:

db.student.update({_id:"1"},{"age":NumberInt(26)})

执行后,我们会发现,这条文档除了age字段其它字段都不见了,为了解决这个问题,我们需要使用修改器$set来实现,命令如下:

db.student.update({_id:"2"},{$set:{"age":NumberInt(26)}})

删除文档的语法结构:db.集合名称.remove(条件)

以下语句可以将数据全部删除,请慎用

db.student.remove({})

如果删除"age"=26的记录,输入以下语句

db.student.remove({"age":26})

统计记录条件使用count()方法。以下语句统计student集合的记录数

db.student.count()

如果按条件统计 ,例如:统计age为26的记录条数

db.student.count({"age":26})

MongoDB的模糊查询是通过正则表达式的方式实现的。格式为:/模糊查询字符串/

例如,我要查询姓名中带有"宋"的所有文档,代码如下

db.student.find({"name":/政/})

如果要查询姓名中"宋"开头的,代码如下:

db.student.find({"name":/^宋/})

大于 小于 不等于
<, <=, >, >= 这个操作符也是很常用的,格式如下:

db.集合名称.find({ "field" : { $gt: value }}) // 大于: field > value

db.集合名称.find({ "field" : { $lt: value }}) // 小于: field < value

db.集合名称.find({ "field" : { $gte: value }}) // 大于等于: field >= value

db.集合名称.find({ "field" : { $lte: value }}) // 小于等于: field <= value

db.集合名称.find({ "field" : { $ne: value }}) // 不等于: field != value

示例:查询年龄大于25的记录

db.student.find({"age":{$gt:25}})

包含与不包含

包含使用$in操作符。
示例:查询age字段包含25,26的文档

db.student.find({"age":{$in:[25,26]}})

不包含使用$nin操作符。
示例:查询age字段不包含25,26的文档

db.student.find({"age":{$nin:[25,26]}})

条件连接

我们如果需要查询同时满足两个以上条件,需要使用 $ and操作符将条件进行关联。(相当于SQL的and)
格式为:$and:[ { },{ },{ } ]
示例:查询age大于23且小于26的文档

db.student.find({$and:[ {"age":{$gte:23}} ,{"age":{$lt:26} }]})

如果两个以上条件之间是或者的关系,我们使用or操作符进行关联,与前面and的使用方式相同
格式为:$or:[ { },{ },{ } ]
示例:查询sex为"男",或者age小于25的文档记录

db.student.find({$or:[ {"sex":"男"} ,{"age":{$lt:25} }]})

列值增长
如果我们想实现对某列值在原有值的基础上进行增加或减少,可以使用$inc运算符来实现

db.student.update({_id:"2"},{$inc:{"age":NumberInt(1)}}	)

其实列值增长跟点赞功能更配

【华为云】年中云钜惠:注册就有

初识MongoDB之安装与启动服务 MongoDB是一个基于分布式文件存储 [1]的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。MongoDB最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 阅读详情

相关推荐

MongoDB的安装启动

一 配置及安装 1、下载  地址:https://www.mongodb.com/download-center 2、解压并配置    mongod没有参数的情况下会使用默认数据目录/data/db(Windows为C:\data\db),若目录不存在或者不  可写,服务会启动失败。  MongoDB默认端口为27017 二 启动 1、前台启动  1)linux   运行mongod...

qq_31965515的博客 886

MongoDB常用命令大全

是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。一、数据库相关(1)完整(mongoDB 6.0版本之后。

Admans的专栏 2413

FreeRTOS --(15)信号量之概述

FreeRTOS 中使用信号量来做同步,信号量可以在任务中使用作为任务与任务间的同步,也可以在中断中使用(带 FromISR 的版本)中断与任务间的同步; 针对不同的应用场景,信号量分为两种: 1、二值信号量; 2、计数信号量; 1、二值信号量 1.1、Usage 顾名思义,二值信号量只有两个值:0 和 1;它用于简单场景下的任务与任务、中断与任务之间的同步,比如:一个任务,在等待某个资源到位后,才能够继续执行,在得到这个资源之前,它处于阻塞状态,假如一个中断来了,给出了这个资源,那么.

StephenZhou 6517

MongoDB的启动方法

MongoDB的启动方法

yizhiyang 1万+

初学树莓派——(九)DHT11数据传入ONENET

目录 前言 DHT11实现本地温湿度监测 DHT11.py 接线图 效果图 温湿度数据上传至ONENET 新建产品 新建设备 ONENET.py 测试 Shell脚本配置 效果图 前言 本文分部分实现温湿度上传至OneNet云平台,本地数据监测,数据上传 新建一个文件夹,文件夹内包含DHT11.py、ONENET.py、tmp_data.txt、hum_data.txt DHT11实现本地温湿度监测 DHT11.py import RPi.GPIO as GPIO

会点灯的大力水手的博客 2611

GBT 27930-2015/2023国标充电协议A类CAN报文ID说明

国标充电CAN的ID,仅供学习参考。

qqq080的博客 7798

MongoDB常用的操作(服务器、数据库、集合)

前面两篇已经介绍了MongoDB系统架构及其BSON数据类型。本文将讲解基本的MongoDB操作。

记录总结工作过往 3495

奇异值分解(SVD)C++实现

奇异值分解SVD(紧奇异值分解,截断奇异值分解)C++实现

weixin_45804601的博客 4172

Mongodb两种启动方法

mongodb两种启动方法命令行启动和配置项启动

m0_62785037的博客 5262

R语言机器学习:XGBoost线性回归模型的SHAP值

SHAP(SHapley Additive exPlanations)值是一种基于博弈论Shapley值的机器学习模型解释方法,能够解释任何模型的预测结果。其主要用途包括:1)提高模型的可解释性,帮助非技术用户理解模型预测;2)识别对模型预测最重要的特征,辅助特征选择;3)调试模型,发现预测中的异常;4)评估模型公平性,避免偏见。SHAP值的计算方法包括初始化、迭代计算、归一化和解释,常用工具如Python的shap库支持多种计算方式(如TreeSHAP、KernelSHAP等)。本文还提供了基于R语言计算

专注生信领域 3441

R语言 百度坐标转换至WGS84坐标

本文利用R语言封装了百度坐标转换至WGS84坐标的函数,亲测有效,提供了便捷的百度坐标转换方法。

qingchen98的博客 2135

MongoDB常用的操作(数据库、集合)

其中,name是集合的名称,option是集合的配置选项。如果数据库不存在,则创建数据库,否则切换到指定数据库。

Meguling的博客 1700

MetaGPT核心模块:Data Interpreter 上手实战 - 数据分析和可视化(附运行过程详解)

上篇文章我们详细解读了 DataInterpreter 的实现原理(论文),本文将开始上手实操,开始写代码用上 DataInterpreter。从最简单的例子开始,先给大家看下其运行过程,看下DataInterpreter是如何自动拆解任务,完成任务的,帮助大家构建直观认识。

同学小张的博客 371

安装MongoDB的方法; 掌握MongoDB启动与使用的方法。

如果该数据库已经存在,则会切换到该数据库。

2302_81139676的博客 1139

Unreal5从入门到精通之如何在VR中使用3DUI

前面我们讲过《Unreal5从入门到精通之UMG的使用》一般制作游戏时,UI都是添加到屏幕视窗上面的,但是在制作VR时,我们往往需要制作一个3D的UI,放置在场景中,然后使用手柄的射线来和UI进行交互。今天我们就来讲解下,如何在VR中创作和交互3DUI首次操作会感觉好复杂,多多练习,当你熟悉了UE蓝图的操作后会发现,这只是一个常规的蓝图操作而已。祝大家在虚幻的学习过程中非常顺利。希望这篇博客对你有所帮助。

TxNet 1984

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

MongoDB安装与启动

window系统MongoDB安装 安装 双击mongodb-win32-x86_64-2008plusssl-3.2.10-signed.msi” 按照提示步骤安装即可。安装完成后,软件会安装在C:\ProgramFiles\MongoDB 目录中。 我们要启动的服务程序就是C:\Program Files\MongoDB\Server\3.2\bin目录下的mongod.exe,为了方便我们...

L__MY的博客 470

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【MongoDB】windows安装、配置、启动

安装过程会持续 1-2 分钟,结束后点击【Finish】点击【Connect】即可可视化访问本地 MongoDB。找到 MongoDB,右键可以启动、停止、重启服务。MongoDB 会被作为服务自动运行。你可以在任务管理器 → 服务里看到。点击【Install】然后点击【Next】

qq_41767061的博客 2812

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

MongoDB安装与使用

来自于英文单词“Humongous”,中文含义表示“庞大”面向文档存储的开源数据库由C++编写,支持多种语言连接。

码农键盘上的梦 2280

centos 7 如何安装启动使用mongodb

参考mongodb官网的安装步骤: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/添加安装包的配置文件创建一个空的配置文件:/etc/yum.repos.d/mongodb-org-3.4.repo 操作过程: [root@localhost ~]# cd /etc/yum.repos.d/ [

在路上 3919

mongodb安装与基本使用

文章目录1. 下载安装2. 配置3. 服务4. 连接MongoDB服务器5. 常用命令6. 通过Java驱动连接7. 用户与密码8. 内建角色9. MongoDB优缺点10. 文档资料 1. 下载安装 MongoDB一个明显的优点就是安装使用比较方便,基本不用做过多的配置。 MongoDB下载 在Windows下安装完成,只需要简单的配置一下就可以使用。 安装的时候,建议只安装MongoDB服务器就可以了,图形界面安装比较慢,个人感觉现阶段也不是特别好用。 使用mongodb shell也是一个不错的选择

trayvontang的博客 1475

MongoDB 安装与使用指南:详细步骤与原创教程

MongoDB 是一个基于分布式文件存储的 NoSQL 数据库,具有高性能、易扩展、灵活的数据模型等特点,广泛应用于各种场景。MongoDB 需要指定一个目录来存储数据文件。在 Linux 和 macOS 系统上,可以创建。访问 MongoDB 官网下载页面 (),选择适合您操作系统的版本进行下载。在 Windows 系统上,可以创建。

恩爸编程 814

MongoDB的下载安装与启动

就可以连接到本地的MongoDB数据库了。(也可以通过"服务管理器"界面手动控制)命令,需要把 MongoDB 的。进入MongoDB安装目录下的。如果想自定义数据目录,比如放在。是MongoDB的服务进程,如果你希望在任何地方都能用。或者你自己指定目录。

涂涂 2848

Linux安装部署数据库:MongoDB

本文详细介绍了非关系型MongoDB数据库的安装部署过程,MongoDB的命令行工具mongosh的使用方法,以及MongoDB安装过程存在问题的解答...

小黑哪有坏心思! 3698

mac安装MongoDB与启动

mac本身就是基于unix的,所以它兼容linux的所有命令行功能,因此在mac上使用MongoDB是十分方便的,下面介绍一下MongoDB的安装过程。 一、MongoDB的安装: 对于安装,我偏向于使用命令行安装,使用如下命令进行安装: brew install mongodb (brew是mac的包管理器,如未安装,使用如下命令安装brew:) ruby -e "$(curl ...

带鱼工作室的博客 1980

mongoDB的安装与启动

mongoDB

qq_43350941的博客 1715
上一篇: Redis、Memcache和MongoDB的区别
下一篇: Java操作MongoDB
DLLLL_
博客等级 码龄7年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值