MongoDB如何使用

ops/2025/1/15 10:02:42/

1.简单介绍


  • MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最 像关系型数据库(MySQL)的非关系型数据库

  • MongoDB是一个基于分布式文件存储的数据库由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

  • MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

  • 它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。

  • MongoDB中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结构。MongoDB文档类似于JSON对象,即一个文档认 为就是一个对象。字段的数据类型是字符型,它的值除了使用基本的一些类型外,还可以包括其他文档、普通数组和文档数组。 

2.在Windows中部署

2.1 下载安装包

MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址: Try MongoDB Atlas Products | MongoDB

2.2 解压安装启动

将下载下来的压缩包解压

在解压目录中,手动建立一个目录用于存放数据文件,如 data/db

弄完上面的那些操作之后就可以开始启动了

命令行参数方式启动服务

在bin 目录中打开命令行提示符(cmd),输入如下命令:

mongod --dbpath=..\data\db

 

我们在启动信息中可以看到, mongoDB的默认端口是27017,如果我们想改变默认的启动端口,可以通过--port来指定端口。 为了方便我们每次启动,可以将安装目录的bin目录设置到环境变量的path中, bin mongo 客户端连接服务用的。

Shell连接

MongoDB启动完成后,找到bin目录下的mongo.exe双击连接

或者使用shell连接

mongo
或
mongo --host=127.0.0.1 --port=27017

 查看MongoDB版本

db.version()

查看已经有的数据库

show databases

退出 mongodb

exit

帮助

mongo --help

  MongoDB javascript shell是一个基于javascript的解释器,故是支持js程序的

Compass 图形化界面客户端

到MongoDB官网下载MongoDB Compass,

地址: https://www.mongodb.com/download-center/v2/compass?initial=true

如果是下载安装版,则按照步骤安装;如果是下载加压缩版,直接解压,执行里面的 MongoDBCompassCommunity.exe 文件即可。

在打开的界面中,输入主机地址、端口等相关信息,点击连接:

3、基本常用命令

3.1、选择和创建数据库

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

use 数据库名称

 

如果数据库不存在则创建,如果存在则切换到数据库

注意 : 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。简单来讲就是你新建的数据库并不会保存在磁盘中而是保存在内存中,当你数据库中添加了数据之后才会真正的保存到磁盘

查看当前所在数据库

db

 

MongoDB 中默认的数据库为 test,如果你没有选择数据库,集合将存放在 test 数据库中。

数据库名可以是满足以下条件的任意UTF-8字符串。

  • 不能是空字符串

  • 不得含有空格、.(小数点)、$、/、\和\0(空字符)

  • 应该全部小写

  • 最多不能超过64字符串

有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库

  • admin:类似于Mysql的root数据库,要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特 定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

  • local:在部署集群用到,如果我们使用到了集群。那么集群的策越会复制库数据,但是如果把数据存放在local中那么这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合

  • config:当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

3.2、数据库删除

MongoDB删除数据库的语法格式

        db.dropDatabase()

 

注意:用于删除已经持久化的数据库

3.3、集合操作

集群:类似于Mysql中的表

创建方式分为显示创建、隐示创建。

3.4、显示创建

db.createCollection(name)

name:为要创建的集合名称

查看当前库中的表: show tables命令

show collections

show tables 

 

集合命名的规范

  • 集合名不能说空字符串

  • 不能含有\0(空字符),这个字符表示集合名的结尾。

  • 不能以system开头,这是系统为集合保留的前缀。

  • 用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。除 非你要访问这种系统创建的集合,否则千万不要在名字里出现$。

3.5、隐示创建

当向一个集合中插入一个文档的时候,如果集合不存在,则会自动创建集合

3.6、集合的删除

db.collection.drop()

db.集合名.drop()

返回值

如果成功删除选定集合,则drop()方法返回true,否则返回false。

列如要删除的mycollection集合

db.mycollection.drop() 


http://www.ppmy.cn/ops/150258.html

相关文章

在 Azure 100 学生订阅中新建一台 Ubuntu VPS,并通过 Docker 部署 Nginx 服务器

今天来和大家分享一下如何在 Azure 100 学生订阅中创建一台 Ubuntu VPS,并在其上通过 Docker 部署 Nginx 服务器。在这个过程中,我们将一步步走过每一个细节,希望能帮助到大家。 Docker 和 Nginx 简介 Docker 是一个开源的容器化平台&#…

34_Lua概述与环境安装指南

从这个模块开始带领带领大家来学习Lua相关的知识。有小伙伴可能会问了问什么要学习Lua?因为在后续的模块中我们需要写Redis脚本、Web开发中编写Nginx脚本等,这些都需要通过Lua语言来实现,因此对Lua的语法我们需要简单了解和掌握必要的知识。 1 Lua概述 1.1 Lua介绍 Lua诞…

gateway worker 分布式

有三个文件start_register.php,start_gateway.php,start_businessworker.php, 一、start_register.php (1)是用于通讯的,注册地址的; 二、start_gateway.php (1)用于跟…

51_Lua面向对象编程

面向对象编程(Object Oriented Programming,OOP)是一种非常流行的计算机编程架构。像C++、Java、Objective-C、Smalltalk、C#、Ruby等编程语言都支持面向对象编程。 1.面向对象编程特性 面向对象编程是一种编程范式,它使用“对象”来设计软件。对象是数据和行为的封装单元…

支持向量机算法详解:从理论到实践

引言 支持向量机(Support Vector Machine, SVM)是机器学习领域中一种强大的分类和回归算法。自1995年由Vapnik等人提出以来,SVM凭借其坚实的理论基础和出色的性能,广泛应用于图像识别、文本分类、生物信息学等领域。本文将深入探…

Elasticsarch:使用全文搜索在 ES|QL 中进行过滤 - 8.17

8.17 在 ES|QL 中引入了 match 和 qstr 函数,可用于执行全文过滤。本文介绍了它们的作用、使用方法、与现有文本过滤方法的区别、当前的限制以及未来的改进。 ES|QL 现在包含全文函数,可用于使用文本查询过滤数据。我们将回顾可用的文本过滤方法&#xf…

【树莓派3B】香瓜树莓派3B之与电脑的文件传输

本文最后修改时间:2018年04月03日 11:57 一、本节简介 本节以树莓派3代B型开发板为例,使用FileZilla软件,通过SSH协议实现电脑与树莓派的文件传输。 二、实验平台 1、硬件平台 1)树莓派3代B型开发板套件 ①树莓派3代B型开发板 ②SD卡&am…

rtthread学习笔记系列(4/5/6/7/15/16)

文章目录 4. 杂项4.1 检查是否否是2的幂 5. 预编译命令void类型和rt_noreturn类型的区别 6.map文件分析7.汇编.s文件7.1 汇编指令7.1.1 BX7.1.2 LR链接寄存器7.1.4 []的作用7.1.4 简单的指令 7.2 MSR7.3 PRIMASK寄存器7.4.中断启用禁用7.3 HardFault_Handler 15 ARM指针寄存器1…