首页 > 数据库 >手把手教你MongoDB 数据库连接URL 格式、authSource参数

手把手教你MongoDB 数据库连接URL 格式、authSource参数

时间:2024-01-13 17:35:13浏览次数:30  
标签:URL MongoDB 数据库 authSource true 连接

快速了解

  • MongoDB官方文档
  • MongoDB是一个文档数据库
  • MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成

使用URL连接MongoDB 数据库

标准 URI 连接语法:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

  • mongodb:// 这是固定的格式,必须要指定。
  • username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登录这个数据库
  • host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。
  • portX 可选的指定端口,如果不填,默认为27017
  • /database 如果指定username:password@,连接并验证登录指定数据库。若不指定,默认打开 test 数据库。
  • ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开

options简介

选项 描述
replicaSet=name 验证replica set的名称。 Impliesconnect=replicaSet.
slaveOk=true或false true:在connect=direct模式下,驱动会连接第一台机器,即使这台服务器不是主。在connect=replicaSet模式下,驱动会发送所有的写请求到主并且把读取操作分布在其他从服务器。false: 在 connect=direct模式下,驱动会自动找寻主服务器. 在connect=replicaSet 模式下,驱动仅仅连接主服务器,并且所有的读写命令都连接到主服务器。
safe=true或false true: 在执行更新操作之后,驱动都会发送getLastError命令来确保更新成功。(还要参考 wtimeoutMS).false: 在每次更新之后,驱动不会发送getLastError来确保更新成功。
w=n 驱动添加 { w : n } 到getLastError命令. 应用于safe=true。
wtimeoutMS=ms 驱动添加 { wtimeout : ms } 到 getlasterror 命令. 应用于 safe=true.
fsync=true或false true: 驱动添加 { fsync : true } 到 getlasterror 命令.应用于 safe=true.false: 驱动不会添加到getLastError命令中。
journal=true或false 如果设置为 true, 同步到 journal (在提交到数据库前写入到实体中). 应用于 safe=true
connectTimeoutMS=ms 可以打开连接的时间。
socketTimeoutMS=ms 发送和接受sockets的时间。

常用MongoDB 数据库连接URL格式

mongodb://username:password@host:port/database?authSource=auth_db

URL格式解析

  • username 是用户名
  • password 是密码
  • host 是数据库主机地址
  • port 是端口号
  • database 是要连接的数据库
  • auth_db 是用于进行身份验证的数据库

举个栗子

现在我们有一个MongoDB:

  • 包含两个数据库:admin 和 cake
  • 用户名xiaojin,密码xiaojin111
  • 使用名为 xiaojin 的用户在 cake 数据库中进行身份验证

我们可以使用以下 URL 进行连接:

mongodb://xiaojin:xiaojin111@localhost:27017/cake?authSource=cake

使用数据库连接URL配置 authSource 参数

  • 在 MongoDB 数据库连接URL格式 中,authSource 用于指定客户端连接数据库时要使用的验证数据库。
  • 如果指定了实际连接的数据库,且没有设置 authSource,则authSource是实际连接的库。如果都没设置,则authSource就写admin
mongodb://xiaojin:xiaojin111@localhost:27017/cake?authSource=cake

上面的示例代表:

  • 我们通过在 URL 中指定 authSource 参数为 “cake”。
  • MongoDB 会使用 cake 数据库中的用户信息来验证 “xiaojin” 用户的凭证

使用配置文件配置 authSource 参数

security:
  authorization: enabled
  keyFile: /path/to/keyfile
  authenticationMechanisms: SCRAM-SHA-256
setParameter:
  authenticationMechanisms: SCRAM-SHA-256

上面配置代表:

  • 启用了身份验证,并指定了使用 SCRAM-SHA-256 机制进行身份验证。

  • 设置其他与身份验证相关的参数,如 setParameter 等。

  • 今天就写到这里啦~

  • 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~

  • 大家要天天开心哦

欢迎大家指出文章需要改正之处~
学无止境,合作共赢

在这里插入图片描述

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~

标签:URL,MongoDB,数据库,authSource,true,连接
From: https://www.cnblogs.com/sugartang/p/17962480

相关文章

  • 学习如何使用 Python 连接 MongoDB: PyMongo 安装和基础操作教程
    Python可以用于数据库应用程序。最流行的NoSQL数据库之一是MongoDBMongoDBMongoDB将数据存储在类似JSON的文档中,使数据库非常灵活和可扩展。您可以在MongoDB官网上下载免费的MongoDB数据库PyMongoPython需要一个MongoDB驱动程序来访问MongoDB数据库。我将......
  • 学习如何使用 Python 连接 MongoDB: PyMongo 安装和基础操作教程
    Python可以用于数据库应用程序。最流行的NoSQL数据库之一是MongoDBMongoDBMongoDB将数据存储在类似JSON的文档中,使数据库非常灵活和可扩展。您可以在MongoDB官网上下载免费的MongoDB数据库PyMongoPython需要一个MongoDB驱动程序来访问MongoDB数据库。我将......
  • 使用curl命令在Linux上进行HTTP请求
    在Linux系统中,curl是一个非常强大的命令行工具,用于发送各种类型的HTTP请求。通过简单的命令,你可以发送GET、POST、PUT、DELETE等请求,以及设置请求头、处理响应等。以下是一些使用curl进行HTTP请求的常见用法和示例。1.发送GET请求最基本的HTTP请求是GET请求,用于从服务器检索数据。......
  • 使用cURL命令在Linux中测试HTTP服务器的性能
    cURL是一个强大的命令行工具,用于从或向服务器传输数据。它支持多种协议,包括HTTP、HTTPS、FTP等。在Linux系统中,cURL可以用于测试和评估HTTP服务器的性能。下面是一些使用cURL命令测试HTTP服务器性能的示例和说明。1.基本请求要向指定的URL发送基本的GET请求,你可以使用以下命令:bash......
  • 比Wget、Curl更强大的下载工具! 转载
    作者:Escape 链接:https://www.escapelife.site/posts/7a3b6469.html aria2是一款轻量且高效的命令行下载工具。堪称下载利器!介绍说明轻量、高效、命令行aria2 是一款轻量且高效命令行下载工具,它提供了对多协议和多源地址的支持,并尝试将下载带宽利用率最大化,目前支持的协......
  • 【Application Insights】使用CURL命令向Application Insgihts发送测试数据
    问题描述在使用AppService或者Kubernetes等服务时,需要收集一些日志数据并且发送到ApplicationInsights中,当使用SDK或者是服务自带的ApplicationInsights配置时遇见问题,有没有快速的调试方式能验证AppService是否与ApplicationInsights之间的连通性呢?问题解答可以使用CURL发送......
  • SVG 文件的引入方式之一:以 URL 的方式引入 SVG 文件,vue2、vue3+Vite vite-svg-loader
    SVG文件的引入方式之一:以URL的方式引入SVG文件,vue2、vue3+Vitevite-svg-loader〇、前言:本篇将介绍:vue2使用require()引入svg使用vue3+ts+vite使用vite-svg-loader插件引入svg使用并最终实现代码提示一样使用图标文件一、问题描述我有一个长期维护的开源项目:《......
  • window10系统中,导出MongoDB数据保存成本地csv文件
    在Windows10系统中,如果你想从MongoDB中导出数据并将其保存为CSV文件,你可以使用MongoDB的命令行工具mongoexport。以下是如何使用mongoexport将数据导出到CSV文件的步骤:打开命令提示符或PowerShell首先,打开命令提示符或PowerShell。2.设置MongoDB路径确保......
  • java后台字符串URLencode、URLdecode及Base64加解密转换
    一、URLencode、URLdecode//将application/x-www-from-urlencoded字符串转换成普通字符串StringkeyWord=URLDecoder.decode("%E4%BD%A0%E5%A5%BD","utf-8");System.out.println(keyWord);//输出你好//将普通字符创转换成application/x-www......
  • dbeaver 链接 mongodb
    如何使用DBeaver连接MongoDB作为一名经验丰富的开发者,我将教你如何使用DBeaver连接MongoDB数据库。以下是整个过程的步骤:步骤操作1安装DBeaver2安装MongoDBJDBC驱动程序3配置数据库连接下面是每个步骤需要做的事情以及相应的代码:步骤1:安装DB......