MongoDB之客户端工具与核心概念及基本类型篇

MongoDB之客户端工具与核心概念及基本类型篇

文章目录

  • MongoDB之客户端工具与核心概念及基本类型篇
  • 1. MongoDB是什么?
    • 1. 关于MongoDB
    • 2. 相关客户端工具
      • 1. MongoDB Compass
      • 2. Studio 3T
      • 3. Navicat for MongoDB
      • 4. NoSQL Manager for MongoDB Professional
  • 2.MongoDB相关概念
    • 2.1 数据库
    • 2.2 文档(Document)
    • 2.3 集合
      • 2.3.1 合法的集合名
      • 2.3.2 capped collections
    • 2.4 元数据
    • 2.5 MongoDB 数据类型
      • 2.5.1 ObjectId
      • 2.5.2 字符串
      • 2.5.3 时间戳
      • 2.5.4 日期
  • 4. 基本操作
    • 1. DB Operations(数据库操作)
    • 2. Collection Operations(集合操作)
    • 3. Document Operations(文档操作)
      • 3.1 Insert Documents(插入文档)
    • Additional Methods for Inserts

1. MongoDB是什么?

1. 关于MongoDB

官网地址:MongoDB

MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. No database makes you more productive.

MongoDB是为现代应用程序开发人员和云时代构建的通用的、基于文档的分布式数据库。没有数据库能让你更有效率。

2. 相关客户端工具

1. MongoDB Compass

官方出品,免费

官网地址:https://www.mongodb.com/download-center/compass

MongoDB Compass 是一个功能强大的 GUI,用于在可视化环境中查询、聚合和分析 MongoDB 数据。

Compass 可免费使用且源代码可用,并且可以在 macOS、Windows 和 Linux 上运行。

  1. 使用 Compass(MongoDB 的 GUI)轻松浏览和操作您的数据库。Compass 直观而灵活,提供详细的架构可视化、实时性能指标、复杂的查询功能等等。

  2. 请注意,MongoDB Compass 有三个版本:具有所有功能的完整版本、没有写入或删除功能的只读版本,以及唯一网络连接到 MongoDB 实例的独立版本。有关更多信息,请参阅官网文档的文档页面。

  • 完整版本:具有所有特性和功能。

  • 只读版: 此版本严格限制为读取操作,删除了所有写入和删除功能。

  • 独立版: 此版本禁用除MongoDB实例连接之外的所有网络连接。

2. Studio 3T

Studio 3T,MongoDB的终极GUI,用于MongoDB的所有IDE、客户端和GUI工具——在Atlas上或任何地方。

官网:Studio 3T

注意:收费

3. Navicat for MongoDB

下载: Navicat | 下载 Navicat for MongoDB 14 天 Windows、macOS 和 Linux 的试用版

注意:收费

4. NoSQL Manager for MongoDB Professional

用于 MongoDB 数据库管理、管理和开发的桌面 GUI 客户端

下载地址:Download NoSQL Manager for MongoDB (mongodbmanager.com)

注意:收费

2.MongoDB相关概念

在mongodb中基本的概念是文档、集合、数据库,下面我们挨个介绍。

下表将帮助您更容易理解Mongo中的一些概念:

SQL术语/概念MongoDB术语/概念解释/说明
databasedatabase数据库
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
indexindex索引
table joins表连接,MongoDB不支持
primary keyprimary key主键,MongoDB自动将_id字段设置为主键

2.1 数据库

一个mongodb中可以建立多个数据库。

MongoDB的默认数据库为"db",该数据库存储在data目录中。

MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。

“show dbs” 命令可以显示所有数据的列表。

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> show dbs
local  0.078GB
test   0.078GB
> 

执行 “db” 命令可以显示当前数据库对象或集合。

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> db
test
> 

运行"use"命令,可以连接到一个指定的数据库。

> use local
switched to db local
> db
local
> 

以上实例命令中,“local” 是你要链接的数据库。

在下一个章节我们将详细讲解MongoDB中命令的使用。

数据库也通过名字来标识。数据库名可以是满足以下条件的任意UTF-8字符串。

  • 不能是空字符串(“”)。
  • 不得含有’ '(空格)、.、$、/、\和\0 (空字符)。
  • 应全部小写。
  • 最多64字节。

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

  • admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
  • local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
  • config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

2.2 文档(Document)

文档是一组键值(key-value)对(即 BSON)。MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。

一个简单的文档例子如下:

{"site":"www.百度.com", "name":"mongo教程"}

下表列出了 RDBMS 与 MongoDB 对应的术语:

RDBMSMongoDB
数据库数据库
表格集合
文档
字段
表联合嵌入文档
主键主键 (MongoDB 提供了 key 为 _id )
数据库服务和客户端
Mysqld/Oraclemongod
mysql/sqlplusmongo

需要注意的是:

  1. 文档中的键/值对是有序的。
  2. 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
  3. MongoDB区分类型和大小写。
  4. MongoDB的文档不能有重复的键。
  5. 文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。

文档键命名规范:

  • 键不能含有\0 (空字符)。这个字符用来表示键的结尾。
  • .和$有特别的意义,只有在特定环境下才能使用。
  • 以下划线"_"开头的键是保留的(不是严格要求的)。

2.3 集合

集合就是 MongoDB 文档组,类似于 RDBMS (关系数据库管理系统:Relational Database Management System)中的表格。

集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。

比如,我们可以将以下不同数据结构的文档插入到集合中:

{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.ali.com","name":"abc","num":5}

当第一个文档插入时,集合就会被创建。

2.3.1 合法的集合名

  • 集合名不能是空字符串""。
  • 集合名不能含有\0字符(空字符),这个字符表示集合名的结尾。
  • 集合名不能以"system."开头,这是为系统集合保留的前缀。
  • 用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。除非你要访问这种系统创建的集合,否则千万不要在名字里出现$。

如下实例:

db.col.findOne()

2.3.2 capped collections

Capped collections 就是固定大小的collection。

它有很高的性能以及队列过期的特性(过期按照插入的顺序). 有点和 “RRD” 概念类似。

Capped collections 是高性能自动的维护对象的插入顺序。它非常适合类似记录日志的功能和标准的 collection 不同,你必须要显式的创建一个capped collection,指定一个 collection 的大小,单位是字节。collection 的数据存储空间值提前分配的。

Capped collections 可以按照文档的插入顺序保存到集合中,而且这些文档在磁盘上存放位置也是按照插入顺序来保存的,所以当我们更新Capped collections 中文档的时候,更新后的文档不可以超过之前文档的大小,这样话就可以确保所有文档在磁盘上的位置一直保持不变。

由于 Capped collection 是按照文档的插入顺序而不是使用索引确定插入位置,这样的话可以提高增添数据的效率。MongoDB 的操作日志文件 oplog.rs 就是利用 Capped Collection 来实现的。

要注意的是指定的存储大小包含了数据库的头信息。

db.createCollection("mycoll", {capped:true, size:100000})
  • 在 capped collection 中,你能添加新的对象。
  • 能进行更新,然而,对象不会增加存储空间。如果增加,更新就会失败 。
  • 使用 Capped Collection 不能删除一个文档,可以使用 drop() 方法删除 collection 所有的行。
  • 删除之后,你必须显式的重新创建这个 collection。
  • 在32bit机器中,capped collection 最大存储为 1e9( 1X109)个字节。

2.4 元数据

数据库的信息是存储在集合中。它们使用了系统的命名空间:

dbname.system.*

在MongoDB数据库中名字空间 .system.* 是包含多种系统信息的特殊集合(Collection),如下:

集合命名空间描述
dbname.system.namespaces列出所有名字空间。
dbname.system.indexes列出所有索引。
dbname.system.profile包含数据库概要(profile)信息。
dbname.system.users列出所有可访问数据库的用户。
dbname.local.sources包含复制对端(slave)的服务器信息和状态。

对于修改系统集合中的对象有如下限制。

在{{system.indexes}}插入数据,可以创建索引。但除此之外该表信息是不可变的(特殊的drop index命令将自动更新相关信息)。

{{system.users}}是可修改的。 {{system.profile}}是可删除的。


2.5 MongoDB 数据类型

下表为MongoDB中常用的几种数据类型。

数据类型描述
String字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。
Integer整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。
Boolean布尔值。用于存储布尔值(真/假)。
Double双精度浮点值。用于存储浮点值。
Min/Max keys将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
Array用于将数组或列表或多个值存储为一个键。
Timestamp时间戳。记录文档修改或添加的具体时间。
Object用于内嵌文档。
Null用于创建空值。
Symbol符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。
Date日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。
Object ID对象 ID。用于创建文档的 ID。
Binary Data二进制数据。用于存储二进制数据。
Code代码类型。用于在文档中存储 JavaScript 代码。
Regular expression正则表达式类型。用于存储正则表达式。

下面说明下几种重要的数据类型。

2.5.1 ObjectId

ObjectId 类似唯一主键,可以很快的去生成和排序,包含 12 bytes,含义是:

  • 前 4 个字节表示创建 unix 时间戳,格林尼治时间 UTC 时间,比北京时间晚了 8 个小时
  • 接下来的 3 个字节是机器标识码
  • 紧接的两个字节由进程 id 组成 PID
  • 最后三个字节是随机数

img

MongoDB 中存储的文档必须有一个 _id 键。这个键的值可以是任何类型的,默认是个 ObjectId 对象

由于 ObjectId 中保存了创建的时间戳,所以你不需要为你的文档保存时间戳字段,你可以通过 getTimestamp 函数来获取文档的创建时间:

> var newObject = ObjectId()
> newObject.getTimestamp()
ISODate("2017-11-25T07:21:10Z")

ObjectId 转为字符串

> newObject.str
5a1919e63df83ce79df8b38f

2.5.2 字符串

BSON 字符串都是 UTF-8 编码。

2.5.3 时间戳

BSON 有一个特殊的时间戳类型用于 MongoDB 内部使用,与普通的 日期 类型不相关。 时间戳值是一个 64 位的值。其中:

  • 前32位是一个 time_t 值(与Unix新纪元相差的秒数)
  • 后32位是在某秒中操作的一个递增的序数

在单个 mongod 实例中,时间戳值通常是唯一的。

在复制集中, oplog 有一个 ts 字段。这个字段中的值使用BSON时间戳表示了操作时间。

BSON 时间戳类型主要用于 MongoDB 内部使用。在大多数情况下的应用开发中,你可以使用 BSON 日期类型。

2.5.4 日期

表示当前距离 Unix新纪元(1970年1月1日)的毫秒数。日期类型是有符号的, 负数表示 1970 年之前的日期。

> var mydate1 = new Date()     //格林尼治时间
> mydate1
ISODate("2018-03-04T14:58:51.233Z")
> typeof mydate1
object
> var mydate2 = ISODate() //格林尼治时间
> mydate2
ISODate("2018-03-04T15:00:45.479Z")
> typeof mydate2
object

这样创建的时间是日期类型,可以使用 JS 中的 Date 类型的方法。

返回一个时间类型的字符串:

> var mydate1str = mydate1.toString()
> mydate1str
Sun Mar 04 2018 14:58:51 GMT+0000 (UTC) 
> typeof mydate1str
string

或者

> Date()
Sun Mar 04 2018 15:02:59 GMT+0000 (UTC)   

4. 基本操作

1. DB Operations(数据库操作)

  1. 查看数据库

    show dbs
    #执行上面命令后可看到MongoDB默认的三个数据库,如下
    admin     0.000GB
    config    0.000GB
    local     0.000GB
    

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

    local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合。

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

  2. 创建数据库

    use DB_NAME
    # 如果数据库不存在,则创建数据库,否则切换到指定数据库。
    # 例:创建一个名称为 demo 的数据库
    use demo
    # 注意:创建完demo数据库后如果数据库下没有集合则数据库存储在内存中,只有当数据库下创建了集合(集合下的文档可有可无)时demo数据库才会被持久化
    
  3. 删除数据库

    db.dropDatabase(); # 删除当前的数据库,可使用db命令查看当前使用的数据库是哪个
    

2. Collection Operations(集合操作)

  1. 创建集合,以demo数据库为例

    use demo;
    # 语法1:
    db.createCollection(name,options);
    # 1.创建一个名称为student的集合
    db.createCollection('student');
    

    参数说明:

    • name: 要创建的集合名称,必选参数
    • options: 可选参数, 指定有关内存大小及索引的选项,可选参数

    options 可以是如下参数:

    字段类型描述
    capped布尔(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。 当该值为 true 时,必须指定 size 参数。
    autoIndexId布尔(可选)如为 true,自动在 _id 字段创建索引。默认为 false。
    size数值(可选)为固定集合指定一个最大值,以千字节计(KB)。 如果 capped 为 true,也需要指定该字段。
    max数值(可选)指定固定集合中包含文档的最大数量。

    在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段。

  2. 查看集合

    show collections;
    
  3. 删除集合

    # 语法
    db.collection.drop();
    # 举例,删除集合名称为 mydemo的集合
    db.mydemo.drop(); # 删除成功返回true,失败返回false
    # 注意:删除集合时会将集合下的所有文档删除
    

3. Document Operations(文档操作)

3.1 Insert Documents(插入文档)

  1. 常用命令及说明

    db.collection.insertOne()Inserts a single document into a collection.
    db.collection.insertMany()db.collection.insertMany() inserts multiple documents into a collection.
    db.collection.insert()db.collection.insert() inserts a single document or multiple documents into a collection.

    Additional Methods for Inserts

    插入文档的附加方法

    The following methods can also add new documents to a collection:

    以下方法还可以向集合中添加新文档:

    • db.collection.update() when used with the upsert: true option.
    • db.collection.updateOne() when used with the upsert: true option.
    • db.collection.updateMany() when used with the upsert: true option.
    • db.collection.findAndModify() when used with the upsert: true option.
    • db.collection.findOneAndUpdate() when used with the upsert: true option.
    • db.collection.findOneAndReplace() when used with the upsert: true option.
    • db.collection.save().
    • db.collection.bulkWrite().

    See the individual reference pages for the methods for more information and examples.

  2. 举例

    1. 插入单个文档到集合中,JSON对象
    db.user.insertOne({"name":"张三","age":NumberInt(22),"gender":"男","address":"西安市"});
    
    1. 插入多个文档到集合中,JSON数组
    db.user.insertMany([{"name":"李四","age":NumberInt(55),"gender":"男","address":"宝鸡市"},{"name":"莉莉","age":NumberInt(12),"gender":"女","address":"铜川市"}]);
    
    1. 插入单个或多个文档到集合中
    # 插入单个文档,JSON对象
    db.user.insert({user:{name:'王五'},email:[{email:'111@qq.com'},{email:'xxx@163.com'}],cards:[{"bankName":"中国建设银行","card":"1245678"},{"bankName":"中国邮政银行","card":"797161616"}]});
    # 插入多个文档,其实就是JSON数组
    db.user.insert(
    {user:{name:'玛利亚'},email:[{email:'7898@qq.com'},{email:'xxx@163.com'}],cards:[{"bankName":"中国建设银行","card":"22222"},{"bankName":"中国邮政银行","card":"111111"}]},
    {user:{name:'马云'},email:[{email:'11111@qq.com'},{email:'yyyy@163.com'}],cards:[{"bankName":"中国人民银行","card":"22222"},{"bankName":"中国银行","card":"111111"}]}
    );
    

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

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

相关文章

苹果 CMS 大橙子 vfed 5.0优化版

大橙子模版算是在苹果 CMS 众多主题里,较为亮眼的一款了,主题简洁,功能众多,非常的齐全。 今天分享的就是大橙 5.0 版本模板,完美破解,自测无后门,无广告不影响任何功能体验性。下载地址&#…

恒峰-高压森林应急消防泵:守护绿色生命线

随着城市化进程的加快,森林覆盖率逐渐降低,人们对于森林资源的保护意识也在不断提高。然而,一旦发生森林火灾,将会给生态环境带来极大的破坏。因此,如何提高森林火灾的防治能力,成为了亟待解决的问题。而高…

Spring Boot Profiles简单介绍

Spring Boot application.properties和application.yml文件的配置 阅读本文之前,请先阅读上面的配置文件介绍。 Spring Boot Profiles是一个用于区分不同环境下配置的强大功能。以下是如何在Spring Boot应用程序中使用Profiles的详细步骤和代码示例。 1. 创…

HarmonyOS4.0系统性深入开发36 媒体查询(mediaquery)

媒体查询(mediaquery) 概述 媒体查询作为响应式设计的核心,在移动设备上应用十分广泛。媒体查询可根据不同设备类型或同设备不同状态修改应用的样式。媒体查询常用于下面两种场景: 针对设备和应用的属性信息(比如显…

密码学及其应用(应用篇15)——0/1背包问题

1 问题背景 背包问题是一个经典的优化问题,在计算机科学和运筹学中有着广泛的应用。具体到你提到的这个问题,它是背包问题中的一个特例,通常被称为0/1背包问题。这里,我们有一系列的正整数 ,以及一个正整数&#xff0c…

opengles 绘制图元 ——glDrawArrays() 相关API介绍 (十)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、opengles3.0 绘制图元介绍二、绘图图元 API 介绍1. glDrawArrays()1.1 glDrawArrays()函数原型1.2 GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN 三者的区别1.3 使用GL_TRIANGLES, G…

java-map集合的基本使用

一、HashMap集合 1.HashMap示意图 2.HashMap的特点 3.HashMap的常用方法 ①.put(K key, V value) 将键&#xff08;key&#xff09;/值&#xff08;value&#xff09;映射存放到Map集合中 public class Test {public static void main(String[] args) {HashMap<String, I…

【笔记】【电子科大 离散数学】 2.命题

文章目录 数理逻辑定义 命题定义不是命题的例子 原子命题和复合命题定义约定 命题联结词否定联结词定义例子真值表 合取联结词定义例子真值表 析取联结词定义例子 蕴含联结词定义例子真值表 等价联结词定义例子真值表 命题符号化及其应用速查表格优先级复合命题符号化布尔检索演…

【大数据】Flink SQL 语法篇(四):Group 聚合、Over 聚合

Flink SQL 语法篇&#xff08;四&#xff09;&#xff1a;Group 聚合、Over 聚合 1.Group 聚合1.1 基础概念1.2 窗口聚合和 Group 聚合1.3 SQL 语义1.4 Group 聚合支持 Grouping sets、Rollup、Cube 2.Over 聚合2.1 时间区间聚合2.2 行数聚合 1.Group 聚合 1.1 基础概念 Grou…

【汽车电子】万字详解汽车标定与XCP协议

XCP协议基础 文章目录 XCP协议基础一、引言1.1 什么是标定1.2 什么时候进行标定1.3 标定的意义 二、XCP协议简介2.1 xcp简介2.2 XCP如何加快开发过程&#xff1f;2.3 XCP的主要作用 三、XCP工作过程3.1 工作过程3.2 通讯模型3.3 测量与标定 四、XCP报文解析4.1 数据包报文格式4…

vue基础操作(vue基础)

想到多少写多少把&#xff0c;其他的想起来了在写。也写了一些css的 input框的双向数据绑定 html <input value"123456" type"text" v-model"account" input"accou" class"bottom-line bottom" placeholder"请输入…

pytorch -- torch.nn下的常用损失函数

1.基础 loss function损失函数&#xff1a;预测输出与实际输出 差距 越小越好 - 计算实际输出和目标之间的差距 - 为我们更新输出提供依据&#xff08;反向传播&#xff09; 1. L1 torch.nn.L1Loss(size_averageNone, reduceNone, reduction‘mean’) 2. 平方差&#xff08;…

探索水下低光照图像检测性能,基于YOLOv6全系列【n/s/m/l】参数模型开发构建海底生物检测识别分析系统

底这类特殊数据场景下的检测模型开发相对来说比较少&#xff0c;在前面的博文中也有一些涉及&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 试探索水下目标检测&#xff0c;基于yolov5轻量级系列模型n/s/m开发构建海底生物检测系统》 《基于YOLOv5C3CBAMCBAM注意力…

IAA增收如何更上一层楼?NetMarvel 4招让您致胜全球

成本上涨&#xff0c;收益收紧&#xff0c;IAA厂商的增收似乎越来越难走&#xff1f;但在重定向广告被玩得如火朝天的当下&#xff0c;IAA一定是持续增长的市场。广告主、品牌方的需求只会越来越多&#xff0c;你只要确保圈住真实用户&#xff0c;流量即变现是迟早的事。 海外…

SocketWeb实现小小聊天室

SocketWeb实现小小聊天室 消息推送的常见方式轮询长轮询SSE&#xff08;server-sent event&#xff09;&#xff1a;服务器发送事件WebSocketWebSocket简介WebSocket API 实现小小聊天室实现流程消息格式客户端-->服务端服务端-->客户端 消息推送的常见方式 轮询 浏览器…

matlab经验模式分解的R波检测算法

1、内容简介 略 56-可以交流、咨询、答疑 2、内容说明 略 心血管疾病是威胁人类生命的主要疾病之一&#xff0c;而心电信号&#xff08;electrocardiogram, ECG&#xff09; 则是评价心脏功能的主要依据&#xff0c;因此&#xff0c;关于心电信号检测处理的研究一直为各方所…

APIFox-自动获取登录状态操作

APIFox-自动获取登录状态操作 概述 作为纯后端开发码农&#xff0c;每次接口开发完的调试很重要&#xff0c;因此每次重复的手动获取登陆状态Token或者直接放行就太麻烦了。 APIFox提供了前置操作&#xff0c;可以很方便的自动获取登录状态&#xff0c;节省大量重复劳动时间。…

python利用selenium实现大麦网抢票

一、selenium原理介绍 Selenium是一个用于Web[应用程序](https://link.juejin.cn/?targethttps%3A%2F%2Fbaike.baidu.com%2Fitem%2F%25E5%25BA%2594%25E7%2594%25A8%25E7%25A8%258B%25E5%25BA%258F%2F5985445%3FfromModule%3Dlemma_inlink "https://baike.baidu.com/item…

【前端素材】推荐优质后台管理系统Uena平台模板(附源码)

一、需求分析 后台管理系统&#xff08;或称作管理后台、管理系统、后台管理平台&#xff09;是一种专门用于管理网站、应用程序或系统后台运营的软件系统。它通常由一系列功能模块组成&#xff0c;为管理员提供了管理、监控和控制网站或应用程序的各个方面的工具和界面。以下…

Folx Pro Mac中文p破解版如何使用?为您带来Folx Pro 详细使用教程!

​ Folx pro 5 中文版是mac上一款功能强大的老牌加速下载软件&#xff0c;新版本的Folx pro整体界面非常的简洁和漂亮&#xff0c;具有非常好用的分类管理功能&#xff0c;支持高速下载、定时下载、速度控制、iTunes集成等功能。Folx pro兼容主流的浏览器&#xff0c;不但可以下…