Mongodb数据管理
Mongodb数据管理
1.登录数据库,查看默认的库
[root@db51~]# mongo> show databases;
admin 0.000GB
config 0.000GB
local 0.000GB> use admin
switched to db admin
> show tables
system.version
>
- admin库:
admin是 MongoDB 的管理数据库,用于存储用户、角色和系统范围的配置。具有admin数据库权限的用户可以管理整个 MongoDB 实例 - **
config库:**如果 MongoDB 部署为分片集群(sharded cluster),config数据库会存储分片信息和路由元数据 - **
local数据库:**存储的是与本地节点相关的数据,不会被复制到其他节点。例如存储复制集的元数据(如oplog.rs集合
2.1 命令分类
DB对象相关命令;
db.[TAB][TAB]
db.help()db.zhiyong.[TAB][TAB]
db.zhiyong.help()
RS复制集相关命令(replication set);
rs.[TAB][TAB]
rs.help()
SH分片集群相关命令(sharding cluster);
sh.[TAB][TAB]
sh.help()
> rs.help
function() {print("\trs.status() { replSetGetStatus : 1 } checks repl set status");
.......> db.getname
xiaoQ.getname
2.2 库的管理
> show databases;
admin 0.000GB
config 0.000GB
local 0.000GB# 相当于创建一个库
> use wzyboy;
switched to db wzyboy# 删除库
> db.dropDatabase();
{ "ok" : 1 }# 创建一个叫 a 表
> db.createCollection("a");
{ "ok" : 1 }
> show tables
a# 随意插入数据
switched to db wzy666
> db.test.insert({name:"zhangsan"})
WriteResult({ "nInserted" : 1 })
> db.stu.insert({id:101,name:"zhangsan",age:20,gender:"m"})
WriteResult({ "nInserted" : 1 })
> show tables;
stu# 查询指定数据
> db.log.find({uid:999})
{ "_id" : ObjectId("66b19bbddd8229605d070b7e"), "uid" : 999, "name" : "mongodb", "age" : 6, "date" : ISODate("2024-08-06T03:42:53.818Z") }# 设置显示50条信息
> DBQuery.shellBatchSize=50;
50> db.log.find()
...
# 显示出50条数据~
2.3 文档操作
# 数据录入到log表
> for(i=0;i<10000;i++){db.log.insert({"uid":i,"name":"mongodb","age":6,"date":new Date()})}
WriteResult({ "nInserted" : 1 })# 查询数据行数
> db.log.count()
10000# 全表信息查询
> db.log.find()
{ "_id" : ObjectId("6403169ac7c3cb20a4ebd465"), "uid" : 0, "name" : "mongodb", "age" : 6, "date" : ISODate("2021-06-04T09:59:54.234Z") }
{ "_id" : ObjectId("6403169ac7c3cb20a4ebd466"), "uid" : 1, "name" : "mongodb", "age" : 6, "date" : ISODate("2021-06-04T09:59:54.240Z") }
{ "_id" : ObjectId("6403169ac7c3cb20a4ebd467"), "uid" : 2, "name" : "mongodb", "age" : 6, "date" : ISODate("2021-06-04T09:59:54.241Z") }
-- 默认每页显示20行数据信息# 每页显示50条记录信息
> DBQuery.shellBatchSize=50;
50
> db.log.find()# 按照条件查询数据
> db.log.find({uid:999})
{ "_id" : ObjectId("6403169ac7c3cb20a4ebd84c"), "uid" : 999, "name" : "mongodb", "age" : 6, "date" : ISODate("2021-06-04T09:59:54.548Z") }# 以标准的json格式输出内容
> db.log.find({uid:999}).pretty()
{"_id" : ObjectId("6403169ac7c3cb20a4ebd84c"),"uid" : 999,"name" : "mongodb","age" : 6,"date" : ISODate("2021-06-04T09:59:54.548Z")
}# 删除集合中所有记录,表示清空集合中的所有文档内容
> db.log.remove({})
WriteResult({ "nRemoved" : 10000 })
> db.log.find()# 或者表示将文档内容和集合信息全部删除
> db.log.drop()
true
> show tables# 查看集合存储信息
> for(i=0;i<10000;i++){db.log.insert({"uid":i,"name":"mongodb","age":6,"date":new Date()})}
WriteResult({ "nInserted" : 1 })> db.log.totalSize()
40960# 或者集合中索引+数据库压缩存储之后的大小
> db.log.stats()
2.4 用户管理
用户管理概述
验证库(authenticationDatabase):建立用户时use到的库,就是验证库,在使用用户时,要加上验证库才能登录,主要限制远程
对于管理员用户,必须在admin下创建:
- 建立用户时,use到的库,就是此用户的验证库
- 登录时,必须明确指定验证库才能登录
- 通常,管理员用的验证库是admin,普通用户的验证库一般是所管理的库设置为验证库
- 如果直接登录到数据库,不进行use,默认的验证库是test,不是企业生产建议的
- 从3.6版本开始,不添加bindIp参数,默认不让远程登录,只能本地管理员登录(远程登录需要配置bindIp参数)
创建超级管理员
1.管理所有数据库(必须use admin再去创建)
> use admin
switched to db admin> db.createUser(
{"user": "root","pwd": "root123","roles": [{"role": "root","db": "admin"}]
}
)# 输出内容:
Successfully added user: {"user" : "root","roles" : [{"role" : "root","db" : "admin"}]
}# 验证用户是否创建成功
> db.auth('root','root123')# 查看指定用户
db.getUser("root")# 修改用户的密码,以root为例
// 切换到 admin 数据库
use admin
// 修改 root 用户的密码
db.changeUserPassword("root", "this_is_new_password")# 查看一个库的所有用户
use admin
db.getUsers()[{"_id" : "admin.app02","userId" : UUID("b9945460-b130-4958-8f9d-e7383a412e5d"),"user" : "app02","db" : "admin","roles" : [{"role" : "readWrite","db" : "wzyboy"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]},{"_id" : "admin.root","userId" : UUID("7d31739d-3535-4b76-99d2-e2b3def9d069"),"user" : "root","db" : "admin","roles" : [{"role" : "root","db" : "admin"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]}
]
2.配置文件中,加入以下验证功能配置,然后重启数据库,就可以实现mongodb身份验证功能
cat >> /mongodb/conf/mongodb.yaml <<EOF
security:authorization: enabled
EOF
3.进行用户登录验证,本地登录不需要加验证库信息
# 本地登录用户验证
[root@db51~]# mongo -uroot -proot123 admin> use admin
switched to db admin
> show databases;
admin 0.000GB
config 0.000GB
local 0.000GB
wzy 0.000GB> use admin
switched to db admin
> db.auth('root','root123')
1
4.远程登录用户验证,远程登录必须加验证库信息
# 登录时就直接验证
[root@db51~]# mongo -uroot -proot123 10.0.0.51:27017/admin
> show databases;
admin 0.000GB
config 0.000GB
local 0.000GB
wzy 0.000GB[root@db51~]# mongo 10.0.0.51:27017/admin
# 没有验证通过时不能看到数据库的
> show databases;
> use admin
switched to db admin
> db.auth('root','root123')
1
> show databases;
admin 0.000GB
config 0.000GB
local 0.000GB
wzy 0.000GB
5.使用navicat工具进行连接

创建普通用户
1.创建一个普通用户app01,并授予对 wzyboy 库的管理权限
> use wzyboy
switched to db wzyboy
> db.createUser(
{user: "app01",pwd: "app01",roles: [ { role: "readWrite", db: "wzyboy" } ]
}
)# 输出结果:应用程序用户创建成功
Successfully added user: {"user" : "app01","roles" : [{"role" : "readWrite","db" : "wzyboy"}]
}# 应用程序用户是否创建成功
> db.auth('app01','app01')
1# 插入表测试
> db.student.insert({name:"zhangsan"})
WriteResult({ "nInserted" : 1 })# 验证数据写入成功
> DBQuery.shellBatchSize=2;
> db.student.find()
{ "_id" : ObjectId("6766509af1117827689ed0b2"), "name" : "zhangsan" }
2.进行用户登录验证
# 本地登录用户验证,本地登录应用程序用户登录也需要加验证库信息
[root@db51~]# mongo -uapp01 -papp01 wzyboy> use wzyboy> show tables;
log
stu
test# 远程登录用户验证
[mongod@master ~]$ mongo -uapp01 -papp01 192.168.30.101:27017/wzyboy
> use admin
switched to db admin
> db.auth('app01','app01')
Error: Authentication failed.
0
-- 访问非验证库会出现报错信息
> use wzyboy
switched to db wzyboy
> db.auth('app01','app01')
1
-- 远程登录必须加验证库信息,访问对应验证库信息会顺利完成验证
用户删除
删除指定用户,必须进入到指定的验证库中,才能删除相应的用户信息
[root@db51~]# mongo -uroot -proot123 10.0.0.51:27017/admin
> use wzyboy
> db.createUser ({user:"app02",pwd:"app02",roles:[{role:"readWrite",db:"wzyboy"}]})> use wzyboy;
> db.dropUser("app02")
true
用户总结
创建用户要有验证库信息,管理员对应admin库,普通用户对应要管理的库
用户进行数据库服务远程登录时,要注意登录命令中有验证库信息
2.5 MongoDB的数据备份
2.5.1 数备备份/恢复工具介绍
| 序号 | 备份工具命令 | 恢复工具命令 |
|---|---|---|
| 逻辑备份-单表迁移 json csv | mongoexport | mongoimport |
| 物理备份-全库操作 分库分表 | mongodump | mongorestore |
两种类型的备份恢复工具应用场景区别:
类型一:(mongoexport/mongoimport)
- 异构平台迁移,比如:mysql <—> mongodb
- 相同平台迁移,比如:跨版本迁移 mongodb 2 —> mongodb 3
类型二:(mongodump/mongorestore)
- 日常数据信息备份保存使用;
- 日常数据信息恢复修复使用;
2.5.2 数据库导出
1 mongoexport
数据导出工具:mongoexport
获取帮助:mongoexport --help
| 参数 | 解释说明 |
|---|---|
| -h | 指明数据库宿主机的IP |
| -u | 指明数据库宿主机的用户名 |
| -p | 指明数据库的密码 |
| -d | 指定数据库的名称 |
| -c | 指定数据集合名称 |
| -f | 指明要导出哪些列 |
| -o | 指明导出后的文件名 |
| -q | 指明导出数据的过滤条件 |
| –authenticationDatabase | 指明验证库信息 |
1.没有使用密码时的备份方式。
本次备份的是之前分片集群里的zhiyong库中的vast集合
mongoexport --port 38017 -d zhiyong -c vast -o /mongodb/vast.json
2.如果设置了认证,那么备份方式为:
mongoexport \
-uroot -proot123 --port 27017 \
--authenticationDatabase admin -d zhiyong -c vast \
-o /mongodb/vast.json
3.单表 vast 备份为csv格式
mongoexport \
--port 38017 -d zhiyong -c vast --type=csv \
-f id,name,age,date \
-o /mongodb/vast.csv
2 mongodump
1.全量备份数据(也可以-d 指定要备份的库)
mongodump \-h localhost:27017 \-o /tmp/mong_export \-u root \-p='123456789' \--authenticationDatabase=admin# 查看备份成功的数据
[root@db51 ~]# ll /tmp/mong_export/
drwxr-xr-x 2 root root 4096 Feb 12 17:20 admin
drwxr-xr-x 2 root root 4096 Feb 12 17:22 wzyboy
2.创建一个新的实例27018,执行数据恢复操作
mongorestore \-h localhost:27018 \/tmp/mong_export
3.登录27018实例,验证恢复的库wzyboy
mongo --host 127.0.0.1 --port 27018> show databases;
admin 0.000GB
config 0.000GB
local 0.000GB
wzyboy 0.000GB
> use wzyboy;
switched to db wzyboy
> show tables;
a
test
恢复选项
1.注:如果设置了密码可以这样进行数据恢复
mongorestore \-h localhost:27018 \-u root \-p='aa' \--authenticationDatabase=admin \/tmp/mong_export
2.如果只需要恢复某个数据库,可以指定数据库名称
mongorestore \-h localhost:27018 \--db wzyboy \/tmp/mong_export/wzyboy
3.如果只需要恢复某个集合,可以指定集合名称:
mongorestore \-h localhost:27018 \/tmp/mong_export/wzyboy \--collection your_collection_name \/tmp/mong_export/your_database_name/your_collection_name.bson
2.5.3 数据导入mongoimport
| 参数 | 解释说明 |
|---|---|
| -h | 指明数据库宿主机的IP |
| -u | 指明数据库宿主机的用户名 |
| -p | 指明数据库的密码 |
| -d | 指定数据库的名称 |
| -c | 指定数据集合名称 |
| -f | 指明要导入哪些列 |
| -j | 指定并行导入的行数信息 |
| –authenticationDatabase | 指明验证库信息 |
1 json恢复
1.带密码的备份:
如果导入的表已经存在,可以在导入命令中加入 drop参数,将源表删除在导入
mongoimport \
-uroot -proot123 --port 27017 \
--authenticationDatabase admin \
-d zhiyong -c vast1 /mongodb/log.json
2.还是以分片集群为例测试数据导入:
mongoimport --port 38017 \
-d zhiyong -c vast1 /mongodb/vast.json
3.验证导入成功
[root@db51~]# mongo --port 38017mongos> use zhiyong;mongos> show tables;
vast
vast1
2 csv恢复
如果要带入csv格式文件中的内容,需要通过–type参数指定导入格式
还是用之前导出的csv文件
ls /mongodb/vast.*
/mongodb/vast.csv /mongodb/vast.json
1.csv格式的文件头行,headerline参数表示指定第一行是列名,不需要导入
mongoimport --port 38017 -d zhiyong -c vast2 --type=csv --headerline --file /mongodb/vast.csv
2.验证导入成功
mongos> show tables;
vast
vast1
vast2
2.5.4 异构平台迁移案例
1.以mysql8.0.26导出json为例,需开启安全目录设置
cat >> /data/3306/my.cnf <<EOF
secure-file-priv=/tmp
EOF
2.开始把数据导出为/tmp/json
select * from world.city into outfile '/tmp/city.csv' fields terminated by ',';
3.处理备份后的csv文件,添加表头信息
vim /tmp/city.csv
ID,Name,CountryCode,District,Population
4.迁移数据导入到mongodb数据库
mongoimport --port 38017 -d world -c city --type=csv -f \
ID,Name,CountryCode,District,Population \
--file /tmp/city.csv
5.在navicat查看数据

6.MySQL导出数据为 csv
先创建表,接受要存储的数据
DROP TABLE IF EXISTS wzy1.test_info;CREATE TABLE wzy1.test_info (id INT,city_name VARCHAR(255),country_code VARCHAR(10),region VARCHAR(255),population INT
);
iv=/tmp
EOF
2.开始把数据导出为/tmp/json```sql
select * from world.city into outfile '/tmp/city.csv' fields terminated by ',';
3.处理备份后的csv文件,添加表头信息
vim /tmp/city.csv
ID,Name,CountryCode,District,Population
4.迁移数据导入到mongodb数据库
mongoimport --port 38017 -d world -c city --type=csv -f \
ID,Name,CountryCode,District,Population \
--file /tmp/city.csv
5.在navicat查看数据
[外链图片转存中…(img-axmKWEED-1739555316937)]
6.MySQL导出数据为 csv
先创建表,接受要存储的数据
DROP TABLE IF EXISTS wzy1.test_info;CREATE TABLE wzy1.test_info (id INT,city_name VARCHAR(255),country_code VARCHAR(10),region VARCHAR(255),population INT
);
相关文章:
Mongodb数据管理
Mongodb数据管理 1.登录数据库,查看默认的库 [rootdb51~]# mongo> show databases; admin 0.000GB config 0.000GB local 0.000GB> use admin switched to db admin > show tables system.version > admin库:admin 是 MongoDB 的管理…...
Django 创建表 choices的妙用:get_<field_name>_display()
1.定义choices 我在创建表时,对于性别这个字段,定义了choices 选项,1代表男,2代表女 mysql中表的数据如下,里面存储的是1或2 如果我们在网页上展示的时候,想展示“男”或“女”,而不是数字1或2…...
Spring Boot 集成 Kettle
Kettle 简介 Kettle 最初由 Matt Casters 开发,是 Pentaho 数据集成平台的一部分。它提供了一个用户友好的界面和丰富的功能集,使用户能够轻松地设计、执行和监控 ETL 任务。Kettle 通过其强大的功能和灵活性,帮助企业高效地处理大规模数据集…...
自学Java-面向对象高级(final、单例类、枚举类、抽象类、接口)
自学Java-面向对象高级(final、单例类、枚举类、抽象类、接口) 一、final关键字1、认识final关键字2、final修饰变量的注意3、常量 二、单例类(设计模式)1、设计模式的概念2、单例设计模式3、单例类有很多形式4、懒汉式单例类5、小…...
Hutool - Cache:简单而强大的缓存实现
目录 1. 缓存简介 2. 引入依赖 3. 常见缓存类型及使用示例 3.1 FIFO 缓存(先进先出缓存) 3.2 LRU 缓存(最近最少使用缓存) 3.3 定时缓存 4. 缓存的基本操作 5. 总结 1. 缓存简介 在软件开发中,缓存是一种常用的…...
DeepSeek 通过 API 对接第三方客户端 告别“服务器繁忙”
本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 上一期分享了如何在本地部署 DeepSeek R1 模型,但通过命令行运行的本地模型,问答的交互也要使用命令行,体验并不是很好。这期分享几个第三方客户端,涵盖了桌…...
Python 基础-循环
目录 简介 break continue 小结 简介 要计算123,我们可以直接写表达式: >>> 1 2 3 6要计算123...10,勉强也能写出来。 但是,要计算123...10000,直接写表达式就不可能了。 为了让计算机能计算成千上…...
Java和SQL测试、性能监控中常用工具
下面我会详细列举一些在Java和SQL测试、调试、性能监控中常用的工具,并结合项目中提到的各个技术点说明如何选择合适的工具和方法。 一、Java项目常用的测试、调试与性能监控工具 单元测试与集成测试:JUnit/TestNG: 用于编写单元测试和集成测…...
SQL 注入攻击详解[基础篇]:Web 应用程序安全漏洞与防御策略
目录 SQL注入的简介 现代 Web 应用程序中的数据库交互与 SQL 注入攻击 数据库管理系统(DBMS)架构与 SQL 注入 什么是 SQL 注入? SQL 注入的工作原理 SQL 注入的用例与影响 如何预防 SQL 注入? 数据库分类 数据库类型&am…...
【ArcGIS Pro二次开发】(87):样式_Style的用法
.Stylx类型的文件即为样式库文件,保存了符号样式。 1、根据名字获取当前工程中的style //获取当前工程中的所有style var ProjectStyles Project.Current.GetItems<StyleProjectItem>();//根据名字找出指定的style StyleProjectItem style ProjectStyles.F…...
DEX-EE三指灵巧手:扩展AI与机器人研究的边界
DEX-EE三指灵巧手,由Shadow Robot与Google DeepMind合作开发,以其先进技术和设计,正在引领AI与机器人研究的新趋势。其高精度传感器和灵活的机械手指,能够捕捉复杂的环境数据,为强化学习实验提供了可靠支持。 Shadow R…...
简站主题:简洁、实用、SEO友好、安全性高和后期易于维护的wordpress主题
简站主题以其简洁的设计风格、实用的功能、优化的SEO性能和高安全性而受到广泛好评。 简洁:简站主题采用扁平化设计风格,界面简洁明了,提供多种布局和颜色方案,适合各种类型的网站,如个人博客和企业网站。 实用&…...
23种设计模式 - 责任链
模式定义 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,允许多个对象按链式顺序处理请求,直到其中一个对象处理为止。该模式将请求的发送者和接收者解耦,使多个对象都有机会处理请求。 模式结构…...
Flink SQL与Doris实时数仓Join实战教程(理论+实例保姆级教程)
目录 第一章:Regular Joins 深度解析 1.1 核心原理与适用场景 1.2 电商订单 - 商品实时关联案例 1.2.1 数据流设计 1.2.2 Doris 表设计优化 1.2.3 性能调优要点 第二章:Interval Joins 实战应用 2.1 时间区间关联原理 2.2 优惠券使用有效性验证 2.2.1 业务场景说明 …...
算法——舞蹈链算法
一,基本概念 算法简介 舞蹈链算法(Dancing Links,简称 DLX)是一种高效解决精确覆盖问题的算法,实际上是一种数据结构,可以用来实现 X算法,以解决精确覆盖问题。由高德纳(Donald E.…...
【复现DeepSeek-R1之Open R1实战】系列6:GRPO源码逐行深度解析(上)
目录 4 GRPO源码分析4.1 数据类 GRPOScriptArguments4.2 系统提示字符串 SYSTEM_PROMPT4.3 奖励函数4.3.1 accuracy_reward函数4.3.2 verify函数4.3.3 format_reward函数 4.4 将数据集格式化为对话形式4.5 初始化GRPO Trainer 【复现DeepSeek-R1之Open R1实战】系列3࿱…...
若依Flowable工作流版本监听器使用方法
1.前言 本文详细介绍如何在若依Flowable工作流版本(RuoYi-Vue-Flowable)中配置执行监听器和任务监听器。是以我二次开发的代码为基础,介绍如何配置监听器,已解决源码在新增或删除监听器出现的问题,如果需要二次开发的…...
机器视觉--图像的运算(乘法)
一、引言 在图像处理领域,Halcon 是一款功能强大且广泛应用的机器视觉软件库。它提供了丰富的算子和工具,能够满足各种复杂的图像处理需求。图像的乘法运算作为其中一种基础操作,虽然不像一些边缘检测、形态学处理等操作那样被频繁提及&…...
突破反爬困境:从服务端渲染到客户端SPA,爬虫环境的演变与新挑战(一)
声明 本文所讨论的内容及技术均纯属学术交流与技术研究目的,旨在探讨和总结互联网数据流动、前后端技术架构及安全防御中的技术演进。文中提及的各类技术手段和策略均仅供技术人员在合法与合规的前提下进行研究、学习与防御测试之用。 作者不支持亦不鼓励任何未经授…...
matlab下载安装图文教程
【matlab介绍】 MATLAB是一款由美国MathWorks公司开发的专业计算软件,主要应用于数值计算、可视化程序设计、交互式程序设计等高科技计算环境。以下是关于MATLAB的简要介绍: MATLAB是MATrix LABoratory(矩阵实验室)的缩写&#…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
