MongoDB的连接数据库,创建、删除数据库,创建、删除集合命令

news2024/11/28 10:46:47

在这里插入图片描述

本文主要介绍MongoDB的连接数据库,创建、删除数据库,创建、删除集合命令。

目录

  • MongoDB连接数据库
    • 连接到本地 MongoDB 实例
    • 连接到远程 MongoDB 实例
  • MongoDB创建和删除数据库
  • MongoDB创建和删除集合
    • 创建集合
    • 删除集合

MongoDB连接数据库

连接 MongoDB 数据库是使用 MongoShell 或客户端库的第一步。
在这里,我将介绍如何使用 MongoShell 连接 MongoDB 数据库。

连接到本地 MongoDB 实例

默认情况下,MongoDB 在本地主机的 27017 端口上运行。要连接到本地 MongoDB 实例,请按照以下步骤进行操作:

  1. 打开终端或命令提示符。

  2. 运行“mongo”命令。如果 MongoDB 安装在本地主机上,并且已启动 MongoDB 服务,那么您会看到类似于以下内容的输出:

    MongoDB shell version v4.2.6
    connecting to: mongodb://127.0.0.1:27017/?	compressors=disabled&gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("d7c90de5-ac7c-47f5-a7c3-25dce77dde4f") }
    MongoDB server version: 4.2.6
    Welcome to the MongoDB shell.
    
  3. 如果您希望连接到非默认端口运行的 MongoDB 实例,则可以使用以下命令:

    mongo --port <port_number>
    

    例如,要连接到端口号为 27018 的 MongoDB 实例,可以使用以下命令:

    mongo --port 27018
    

连接到远程 MongoDB 实例

如果您想要连接到运行在其他服务器上的 MongoDB 实例,您需要知道以下信息:

  • 远程 MongoDB 实例的 IP 地址或域名。
  • 远程 MongoDB 实例正在运行的端口号。
  • 如果 MongoDB 实例是安全的,则需要用户名和密码。

使用 MongoDB 客户端库,您可以使用以下代码连接到远程 MongoDB 实例:

import pymongo

# 远程 MongoDB 实例的连接字符串
conn_str = "mongodb://<username>:<password>@<ip_address>:<port_number>/"

# 建立 MongoDB 连接
client = pymongo.MongoClient(conn_str)

请将代码中的 <username><password><ip_address><port_number> 替换为实际的值。

使用 MongoShell 连接远程 MongoDB 实例的方法与连接本地实例的方法类似。只需要将上面的命令替换为以下命令:

mongo "mongodb://<username>:<password>@<ip_address>:<port_number>/<database_name>"

请确保将 <username><password><ip_address><port_number><database_name> 替换为实际值。

这就是连接 MongoDB 数据库的基本步骤。请注意,在此之前,您需要确保已经安装了 MongoDB 并启动了 MongoDB 服务。

MongoDB创建和删除数据库

在MongoDB中,创建数据库非常简单。只需要使用MongoDB Shell中的命令即可完成。
以下是详细步骤:

  1. 打开MongoDB Shell。在命令行中输入mongo即可。

  2. 创建数据库。在MongoDB Shell中,使用以下命令来创建一个新的数据库:

    use <database_name>
    

    例如,假设要创建一个名为“my_database”的新数据库,可以使用以下命令:

    use my_database
    

    请注意,这个命令只是告诉MongoDB,我们想要使用一个名为“my_database”的数据库。如果该数据库不存在,MongoDB将自动创建它。

  3. 插入数据。在创建数据库后,您可以使用insert()命令向数据库中插入数据。例如,可以使用以下命令向“my_database”数据库中的“my_collection”集合中插入一个新文档:

    db.my_collection.insert({ name: "John", age: 30, email: "john@example.com" })
    
  4. 查看数据。您可以使用find()命令查看数据库中的数据。例如,以下命令将返回“my_collection”集合中的所有文档:

    db.my_collection.find()
    
  5. 删除数据库。如果您想要删除创建的数据库,可以使用以下命令:

    db.dropDatabase()
    

    请注意,这个命令会永久删除整个数据库及其所有集合和数据。因此,请谨慎使用该命令。

这就是MongoDB创建数据库的基本步骤。请记住,MongoDB是非关系型数据库,因此与传统关系型数据库(如MySQL或Oracle)不同,MongoDB没有表的概念,而是使用集合。在MongoDB中,集合是文档的分组。每个文档都是一条记录,这些记录可以存储在集合中。

MongoDB创建和删除集合

在 MongoDB 中,创建和删除集合非常简单。以下是详细步骤:

创建集合

在 MongoDB 中,当您向集合插入一条记录时,MongoDB 会自动创建集合(如果它不存在)。但是,如果您需要手动创建集合,可以使用以下命令:

db.createCollection("<collection_name>")

例如,要创建一个名为“my_collection”的集合,请使用以下命令:

db.createCollection("my_collection")

在 MongoDB 中,集合是动态的,因此在创建集合后,只要向它添加一条记录,它就会被自动创建。

您还可以使用以下选项来创建集合:

  • capped:如果集合是“capped”(固定大小),则创建的集合将是固定大小的集合,当容量达到限制时,最旧的记录将被删除。
  • size:指定集合的初始大小(以字节为单位)。
  • max:指定集合可以容纳的最大记录数。

例如,要创建一个大小为 1000000 字节的固定大小的集合,可以使用以下命令:

db.createCollection("my_capped_collection", { capped: true, size: 1000000 })

删除集合

删除集合也很简单。您可以使用以下命令来删除集合:

db.<collection_name>.drop()

例如,要删除名为“my_collection”的集合,请使用以下命令:

db.my_collection.drop()

请注意,这个命令会永久删除集合及其所有文档。因此,请谨慎使用该命令。

这就是 MongoDB 创建和删除集合的基本步骤。请记住,在 MongoDB 中,集合类似于关系型数据库中的表。每个集合包含多个文档,这些文档类似于表中的记录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1300353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

报表生成器Stimulsoft用户手册:预览中具有动态数据排序的报告

Stimulsoft Reports 是一款报告编写器&#xff0c;主要用于在桌面和Web上从头开始创建任何复杂的报告。可以在大多数平台上轻松实现部署&#xff0c;如ASP.NET, WinForms, .NET Core, JavaScript, WPF, Angular, Blazor, PHP, Java等&#xff0c;在你的应用程序中嵌入报告设计器…

[香橙派]Orange pi zero 3命令行配网方法——建立ssh连接——Ubuntu配置WIFI自动连接

一、前言 前面我们给Orange Pi安装了Ubuntu系统&#xff0c;并通过MobaXterm进行了串口连接&#xff0c;但其实并不方便&#xff0c;在日常开发中&#xff0c;我们希望能够使用更方便的ssh连接来进行操作&#xff0c;因此配置网络是必要的。 本章介绍的方法无需网线、HDMI线等&…

我的NPI项目之Android 安全系列 -- Android Strongbox 初识

从Android9(Pie)开始,Google强烈建议支持Strongbox. 具体描述如下: 一直到目前的Android14. 对应的内容也一并贴出来: 说人话就是Android开始通过独立于主SoC的单元进行密钥存储了。 通常&#xff0c;这样的单元就是我们通常称作的Secure Element&#xff08;SE&#xff09;&am…

关于优雅的使用SQL多行转多列的记录(doris)

文章目录 应用需求场景记录过程1. 准备数据2. 给数据根据姓名分组&#xff0c;加上序号.3. 根据name分组成map结构4. 拆分map 应用需求场景 准备的数据是这样的&#xff1a; 需要将每个人的成绩显示在一行上&#xff0c;需要的结果如下&#xff0c;但是我的情况是课程有非常…

【MySQL进阶】索引使用

一、索引使用 1.验证索引效率 tb_sku 这张表中准备了 1000w 的记录。 我用夸克网盘分享了「1000w的模拟数据」链接&#xff1a;https://pan.quark.cn/s/15cf665202b2 这张表中id为主键&#xff0c;有主键索引&#xff0c;而其他字段是没有建立索引的。 我们先来查询其中的…

阿里内部教程Jmeter 性能测试常用图表、服务器资源监控

性能测试常用图表 插件安装 步骤 1&#xff1a;安装插件管理器 在 Jmeter 官网上下载插件管理器 Plugins-manager-1.3.jar将 jar 包放入到 lib\ext 目录下重启 Jmeter&#xff0c;可以在选项下看到 Plugins Manager 选项 步骤 2&#xff1a;安装指定的插件 打开 Plugins Ma…

常见web漏洞的流量分析

常见web漏洞的流量分析 文章目录 常见web漏洞的流量分析工具sql注入的流量分析XSS注入的流量分析文件上传漏洞流量分析文件包含漏洞流量分析文件读取漏洞流量分析ssrf流量分析shiro反序列化流量分析jwt流量分析暴力破解流量分析命令执行流量分析反弹shell 工具 攻击机受害机wi…

【论文笔记】Gemini: A Family of Highly Capable Multimodal Models——细看Gemini

Gemini 【一句话总结&#xff0c;对标GPT4&#xff0c;模型还是transformer的docoder部分&#xff0c;提出三个不同版本的Gemini模型&#xff0c;Ultra的最牛逼&#xff0c;Nano的可以用在手机上。】 谷歌提出了一个新系列多模态模型——Gemini家族模型&#xff0c;包括Ultra…

SSD数据在写入NAND之前为何要随机化?-part2

接part1介绍&#xff1a; 如何达到这个目的&#xff1f;业内常用的是对写入数据的数据进行随机化处理&#xff0c;这部分主要在SSD控制器中通过硬件实现。 上图b/c&#xff1a;在控制器芯片通过硬件方式实现随机化的读写流程&#xff0c;这个也是业内通常做法。随机化处理是在写…

TypeScript 之 console的使用

语言&#xff1a; TypeScript 在线工具&#xff1a; PlayGround console console 对象是一个非常强大的控制台日志显示工具&#xff0c; 可以帮助我们在浏览器中调试代码。 注&#xff1a; console不属于TypeScript的语法&#xff0c;而是由JavaScript封装的内置对象。 简单的…

Ubuntu下安装SDL

源码下载地址&#xff08;SDL version 2.0.14&#xff09;&#xff1a;https://www.libsdl.org/release/SDL2-2.0.14.tar.gz 将源码包拷贝到系统里 使用命令解压 tar -zxvf SDL2-2.0.14.tar.gz 解压得到文件夹 SDL2-2.0.14 进入文件夹 执行命令 ./configure 执行命令 make…

原来JMeter 结果处理常见问题这么简单,可惜没早点看到!

1. 前言 工作中用 jmeter 请求一个接口对谈得上会 jmeter 的人似乎都是可以做出来的&#xff0c;但是实际难点是参数化&#xff0c;结果的断言&#xff0c;结果的汇总等。本文将针对结果过滤有效性的情况展开分析。 示例场景&#xff1a;一个接口需要对入参1000多个数据做测试…

【亲测有效】支持横竖屏 微信小程序video禁止进度条拖动,微信小程序遮罩进度条,

背景&#xff1a;部分课程禁止客户拖动视频进度条直至播放结束 红色是遮罩区域遮罩区域 实际遮罩效果&#xff08;有一个很浅的阴影区域&#xff09; 实现代码 .wxml文件 <video enable-progress-gesture"false" ><cover-view class"cover">…

FPGA设计时序约束十一、others类约束之Set_Maximum_Time_Borrow

目录 一、序言 二、Set Maximum Time Borrow 2.1 基本概念 2.2 设置界面 2.3 命令语法 2.4 命令示例 三、参考资料 一、序言 在Vivado的时序约束窗口中&#xff0c;存在一类特殊的约束&#xff0c;划分在others目录下&#xff0c;可用于设置忽略或修改默认的时序路径分析…

TwoNav导航网站源码 开源的书签(导航)管理程序

源码介绍 TwoNav是一款开源的书签&#xff08;导航&#xff09;管理程序&#xff0c;拥有简洁的界面、简单的安装和便利的使用体验。其基础功能免费&#xff0c;能够有效帮助用户集中管理浏览器书签&#xff0c;并解决了跨设备、跨平台和跨浏览器之间同步和访问困难的问题&…

Photoshop Circular Text

Ctrl N 新增 现学现卖

2023-12-09 LeetCode每日一题(下一个更大的数值平衡数)

2023-12-09每日一题 一、题目编号 2048. 下一个更大的数值平衡数二、题目链接 点击跳转到题目位置 三、题目描述 如果整数 x 满足&#xff1a;对于每个数位 d &#xff0c;这个数位 恰好 在 x 中出现 d 次。那么整数 x 就是一个 数值平衡数 。 给你一个整数 n &#xff0…

设计模式再探——装饰模式

目录 一、背景介绍二、思路&方案三、过程1.装饰模式简介2.装饰模式的类图3.装饰模式代码4.装饰模式&#xff0c;职责父类拆分的奥义5.装饰模式&#xff0c;部件抽象类的无中生有 四、总结五、升华 一、背景介绍 最近公司在做架构模型的时候&#xff0c;涉及到装饰模式的研…

JVM虚拟机:命令行查看JVM垃圾回收器的执行信息

在eclipse中打开命令行窗口 window->show view->Terminal 这样就打开了Terminal窗口&#xff0c;效果如下所示&#xff1a; java -XX:PrintCommandLineFlags -version 这个命令可以查看一些配置信息&#xff0c;其中最重要的配置信息就是&#xff0c;当前使用的G1回收器…

【动态规划】斐波那契数列模型_解码方法_C++(medium)

题目链接&#xff1a;leetcode解码方法 目录 题目解析&#xff1a; 算法原理 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 编写代码 题目解析&#xff1a; 题目让我们求解码 方法的 总数 由题可得&#xff1a; 0和有前导0&#xff08;比如06、08、04&am…