MongoDB安装和入门_mongodb4,21年软件测试面经分享

[root@localhost ]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# vim mongodb-org-4.2.repo
[mngodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.2/x86_64/
gpgcheck=0
enabled=1

这里可以修改 gpgcheck=0, 省去gpg验证

安装之前先更新所有包 :

[root@localhost yum.repos.d]# yum update

2.安装MongoDB
安装命令:

[root@localhost yum.repos.d]# yum -y install mongodb-org

安装完成后

查看mongo安装位置 whereis mongod

[root@localhost yum.repos.d]# whereis mongod
mongod: /usr/bin/mongod /etc/mongod.conf /usr/share/man/man1/mongod.1

查看修改配置文件 :vim /etc/mongod.conf

bindIp: 172.0.0.1 改为 bindIp: 0.0.0.0

(注意冒号与ip之间需要一个空格)

[root@localhost yum.repos.d]# cat /etc/mongod.conf

mongod.conf

for documentation of all options, see:

http://docs.mongodb.org/manual/reference/configuration-options/

where to write logging data.

systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log

Where and how to store data.

storage:
dbPath: /var/lib/mongo
journal:
enabled: true

engine:

wiredTiger:

how the process runs

processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo

network interfaces

net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

#security:

#operationProfiling:

#replication:

#sharding:

Enterprise-Only Options

#auditLog:

#snmp:

3.启动MongoDB

启动mongodb :systemctl start mongod.service

停止mongodb :systemctl stop mongod.service

查到mongodb的状态:systemctl status mongod.service

设置开启自启动:systemctl enable mongod.service

[root@localhost yum.repos.d]# systemctl status mongod.service
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2020-04-04 16:01:31 CST; 8s ago
Docs: https://docs.mongodb.org/manual
Process: 5492 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
Process: 5488 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 5485 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 5481 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
Main PID: 5495 (mongod)
CGroup: /system.slice/mongod.service
└─5495 /usr/bin/mongod -f /etc/mongod.conf

Apr 04 16:01:30 localhost.localdomain systemd[1]: Starting MongoDB Database Server…
Apr 04 16:01:30 localhost.localdomain mongod[5492]: about to fork child process, waiting until server is ready for connections.
Apr 04 16:01:30 localhost.localdomain mongod[5492]: forked process: 5495
Apr 04 16:01:31 localhost.localdomain mongod[5492]: child process started successfully, parent exiting
Apr 04 16:01:31 localhost.localdomain systemd[1]: Started MongoDB Database Server.

4.外网访问需要关闭防火墙

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

vim /etc/sysconfig/iptables

iptables文件添加

-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT

(注意:-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT要加在-A INPUT -j REJECT --reject-with icmp-host-prohibited之前,不然启动无效)

RPM安装MongoDB

从官方网站上,根据自己的操作系统版本,选择需要下载的rpm包,我这里下载的是4.2.2的版本,对应的操作系统是RHEL7

wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/mongodb-org-server-4.2.2-1.el7.x86_64.rpm
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/mongodb-org-shell-4.2.2-1.el7.x86_64.rpm
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/mongodb-org-tools-4.2.2-1.el7.x86_64.rpm
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/mongodb-org-mongos-4.2.2-1.el7.x86_64.rpm

rpm包下载完成之后,先安装mongo的服务端

rpm -ivh mongodb-org-server-4.2.2-1.el7.x86_64.rpm

如果想连接到mongo数据库,需要安装mongo shell组件

rpm -ivh mongodb-org-shell-4.2.2-1.el7.x86_64.rpm

mongo官方还提供了一组工具集,如果需要可以安装mongo tools

rpm -ivh mongodb-org-tools-4.2.2-1.el7.x86_64.rpm

如果想要搭建高可用集群,则需要安装mongos包,在这里就不介绍了,下次再介绍怎么搭建mongo集群环境

rpm -ivh mongodb-org-mongos-4.2.2-1.el7.x86_64.rpm

安装好mongo server,mongo shell,mongo tools之后,就可以开始配置mongo数据库参数了,默认的mongo配置文件在/etc/下

/etc/mongod.conf

我们可以修改mongo日志存放路径,数据存放路径,远程IP访问,修改配置如下所示

systemLog:
destination: file
logAppend: true
path: /mongo/log/mongod.log

storage:
dbPath: /mongo/data
journal:
enabled: true

net:
port: 27017
bindIp: 0.0.0.0

bindIp如果使用默认的127.0.0.1,则只能本地IP才能访问mongo数据库,远程则无法访问mongo数据库。
修改好之后,就可以启动mongo数据库了

systemctl start mongod

数据库启动之后,就可以用mongo shell连接数据库了,下面简单介绍一下mongo操作

##登录数据库
[root@ mongo]# mongo

##查看当前数据库

show dbs;
admin 0.000GB
config 0.000GB
local 0.000GB

##创建新数据库

use testdb;
switched to db testdb

##向数据库testdb的集合t_1中插入一条记录

db.t_1.insert({“name”:“tlesjofj”,“modtime”:“8473”});
WriteResult({ “nInserted” : 1 })

##查看当前数据库已有的集合

show collections;
t_1

##查询集合t_1的所有数据

db.t_1.find();
{ “_id” : ObjectId(“5df87ea9d824098cd42fb2e8”), “name” : “tlesjofj”, “modtime” : “8473” }

##带条件查询

db.t_1.find({“modtime”:“8473”});
{ “_id” : ObjectId(“5df87ea9d824098cd42fb2e8”), “name” : “tlesjofj”, “modtime” : “8473” }

参考链接 :

https://mp.weixin.qq.com/s/M_TIF9r2TiNw7XRlW8jguw

3 MongoDB的图形化管理软件——Robo 3T

MongoDB虽然自带了一个终端环境下的客户端,但是操作起来比较繁琐,数据显示也不够直观,因此需要使用一个图形界面管理软件来提高MongoDB数据的可读性。
3.1 安装
Robo 3T是一个跨平台的MongoDB管理工具,采用图形界面查询或者修改MongoDB。Robo 3T的下载地址为:https://robomongo.org/download。在下载页面中可以看到另一个叫作 Studio 3T 的软件,它是一个功能更加强大的MongoDB图形化管理软件,但它是一个商业软件,需要收费,而Robo 3T是开源软件并且免费,它的功能足够应付本书的所有应用场景,因此本文选择使用Robo 3T。

  • (1)安装Robo 3T的安装没有任何需要特别说明的地方,和安装普通软件一样简单。
  • 在这里插入图片描述
  • (2)第一次成功启动Robot 3T时,会看到一个用户协议,如图所示,勾选“我接受”按钮。
  • 在这里插入图片描述
  • (3)选择需要安装的路径,然后点击安装即可。
  • (4)在下一个界面中添加名字公司之类的信息,可以直接忽略,单击“完成”按钮跳过即可。

3.2 用Robo 3T连接MongoDB

  • (1)打开Robo 3T,看到如图所示对话框,单击左上角“Create”链接。
  • 在这里插入图片描述
  • (2)弹出如图所示对话框。如果MongoDB就在本地电脑中运行,则只需在“Name”栏中填写一个名字,其他地方不需要修改,然后直接单击“Save”按钮。
  • 在这里插入图片描述
  • (3)保存回到界面后,单击“Connect”按钮就可以连接MongoDB了

3.3 认识Robo 3T的界面

Robo 3T的主界面如图所示。重点关注A、B、C三个区域。
在这里插入图片描述

  • 数据库列表区(后简称A区域),用于选择数据库和集合。
  • 数据展示区(后简称B区域),用于显示数据。
  • 命令执行区(后简称C区域),用于编写MongoDB代码。

在A区域中,单击数据库图标左边的箭头,展开数据库;单击“Collections”左边的箭头,展开集合。双击集合的名字,则B区域和C区域发生相应的变化。

4 MongoDB的基本操作

增、查、改、删是所有数据库必备的功能。本节将介绍如何使用MongoDB 来实现这四个功能。
4.1 创建数据库与集合,写入数据
在Robo 3T中进行如下操作:

  • (1)创建一个名为“chapter_1”的数据库,以及其中的多个集合。
  • (2)往集合里逐条插入数据。
  • (3)往集合里批量插入数据
    使用Robo 3T打开刚刚安装完成的MongoDB,可以看到A区域是空的,还没有数据库,如图所示:
    在这里插入图片描述

1.创建数据库与集合

  • (1)鼠标右击“小电脑”图标,在弹出的菜单中选择“CreateDatabase”命令
  • (2)在弹出的对话框中输入数据库的名字,单击“Create”按钮完成数据库的创建
  • 在这里插入图片描述
  • (3)新创建的数据库会出现在 A 区域中。单击数据库左边的小箭头将其展开,然后右击“Collections(0)”文件夹,在弹出的菜单中选择“Create Collection…”命令。
  • (4)在弹出的对话框中输入集合的名字,然后单击“Create”按钮,创建一个集合。
  • 在这里插入图片描述
  • (5)创建完集合后,原来的“Collections(0)”变成了“Collections(1)”。由此可以推测:括号里面的数字表示这个数据库里面有多少个集合。单击“Collections(1)”左侧的小箭头将其展开,可以看到集合“example_data_1”已经创建好了。双击集合名字,可以看到当前集合里什么都没有,如图所示:
    在这里插入图片描述

2.插入单条数据

插入单条数据的命令为“insertOne()”,Robo 3T自带插入数据的功能,但是在此不介绍了,本文会直接介绍如何在C区域执行MongoDB命令插入数据。
(1)创建一条JSON字符串

例如:

{“name”: “王小二”, “age”: 17, “address”: “浙江”}

(2)对C区域的内容做一些修改

db.getCollection(‘example_data_1’).find({})

修改为:

db.getCollection(‘example_data_1’).insertOne({“name”: " 王小二 ",“age”: 17,“address”: “浙江”})

(3)使用Windows与Linux的读者,可以按键盘上的“Ctrl + R”组合键,运行后的界面如图所示。可以看到,一条数据已经插入到了MongoDB中
在这里插入图片描述

提示:还可以通过单击Robo 3T上面的绿色三角形来运行命令

  • (4)在 A 区域双击集合“example_data_1”,从新打开的选项卡中可以看到数据已经成功插入,如图所示:
  • 在这里插入图片描述
  • 数据已经成功插入被插入的数据就是JSON字符串:

{“name”: “张小二”, “age”: 17, “address”: “浙江”}

提示:JSON字符串必须使用双引号,不过这个规定在MongoDB中并非强制性的,用单引号也没有问题。例如,在C区域执行以下命令:
db.getCollection(‘example_data_1’).insertOne({‘name’: ‘王小六’,‘age’: 23, ‘work’: ‘运维工程师’})

如果将Python的字典直接复制到MongoDB的insertOne命令中,则绝大部分情况下这些字典都可以直接使用,只有极少数情况下需要做一些修改,后面会讲到这些少数情况

提示:MongoDB还允许Key不带引号,直接写成
{name: ‘王小六’, age: 23,work: ‘运维工程师’}
但这种写法存在一些局限性,并且会导致MongoDB的命令不方便平滑移植到Python中。因此,建议读者一律使用带单引号的写法或者带双引号的写法

3.调整插入的字段

  • (1)任意修改、添加、删除字段。在现有的数据中,第1条数据没有“work”这个字段,第2条数据没有“address”这个字段。这就说明:在MongoDB里,插入数据的字段是可以任意修改、添加、删除的。例如,再插入一条新的数据:

db.getCollection(‘example_data_1’).insertOne({“hello”: “world”,“sex”: “男”,“职位”: “程序员”})

这一次所有的字段都和前两条数据不一样,但 MongoDB 仍然可以轻松处理——遇到新来的字段,加上去就是了,没什么大不了的,如图所示:
在这里插入图片描述

  • (2)插入同一个字段,但格式却不同,即使是同一个字段,其数据格式也可以不一样
    例如,再插入一条数据:

db.getCollection(‘example_data_1’).insertOne({“name”: “1024”,“age”: “十岁”,“address”: “3.5”})

添加后的数据如图所示:
在这里插入图片描述

提示:“能不能做”是一回事,“应不应该做”是另一回事。虽然MongoDB能够处理同一个字段的不同数据类型,也可以随意增减字段,但并不意味着应该这样做。在设计数据库时,应尽量保证同一个字段使用同一种类型的数据,并提前考虑好应该有哪些字段。

3.批量插入数据

批量插入数据的命令是“insertMany”,把一个包含很多个字典的列表传给“insertMany”。
列表为:

data_list = [
{‘name’: ‘赵小三’,‘age’:20,‘address’:‘北京’},
{‘name’: ‘钱小四’,‘age’:21,‘address’:‘上海’},
{‘name’: ‘孙小五’,‘age’:20,‘address’:‘山东’},
{‘name’: ‘李小六’,‘age’:23,‘address’:‘河北’},
{‘name’: ‘欧阳小七’,‘age’:24,‘address’:‘杭州’},
]

对应的MongoDB批量插入语句为:

db.getCollection(‘example_data_1’).insertMany([
{‘name’: ‘赵小三’,‘age’:20,‘address’:‘北京’},
{‘name’: ‘钱小四’,‘age’:21,‘address’:‘上海’},
{‘name’: ‘孙小五’,‘age’:20,‘address’:‘山东’},
{‘name’: ‘李小六’,‘age’:23,‘address’:‘河北’},
{‘name’: ‘欧阳小七’,‘age’:24,‘address’:‘杭州’}
])

运行后返回的数据如图所示:
在这里插入图片描述

提示:可以通过换行和缩进让代码更美观、易读。换行和缩进不影响代码功能

运行以后的集合数据如图所示:
在这里插入图片描述
无论是插入一条数据还是插入多条数据,每一条数据被插入 MongoDB后都会被自动添加一个字段“_id”。“_id”读作“Object Id”,它是由时间、机器码、进程pid和自增计数器构成的。“_id”始终递增,但绝不重复。

  • 同一时间,不同机器上面的“_id”不同;
  • 同一机器,不同时间的“_id”也不同;
  • 同一机器同一时间批量插入的数据,“_id”依然不同;

提示:_id的前8位字符转换为十进制就是时间戳。例如“5b2f2e24e0f42944105c81d2”,前8位字符“5b2f2e24”转换为十进制就是时间戳“1529818660”,对应的北京时间是“2018-06-2413:37:40”

4.2 查询数据

对数据集example_data_1进行如下查询:

(1)查询所有数据

(2)查询特定数据:查询“age”为25岁的员工

(3)查询特定数据:查询“age”不小于25的所有记录

(4)限定返回的数据字段类型

在Robo 3T中双击集合名字,实际上是自动执行了以下这条查询语句:

db.getCollection(‘example_data_1’).find({})

下面先来了解一下查询结果的三种显示模式

1.三种显示模式

Robo 3T显示出来的查询结果如图所示,注意右上角方框框住的三个图标。
在这里插入图片描述
Robo 3T对于返回的数据有三种组织方式,从左到右分别是:“树形模式(Tree Mode)”“表格模式(Table Mode)和“文本模式(TextMode)”。

提示:这三种显示模式是Robo 3T提供的,不是MongoDB的功能。

2.查询固定值数据

  • (1)查询所有数据。如要查询所有数据值,则直接使用下面两种写法的任意一种即可:

db.getCollection(‘example_data_1’).find()

db.getCollection(‘example_data_1’).find({})

  • (2)查询特定数据。如要查询某个或者某些具体字段,则可以使用下面的语法来查询。如果有多个字段,则这些字段需要同时满足。

db.getCollection(‘example_data_1’).find({‘age’: 23})

查询结果如图所示:
在这里插入图片描述
由于“age”为25的记录有两条,于是需要进一步缩小查询范围——再增加一个限制条件:

db.getCollection(‘example_data_1’).find({‘age’: 23,‘name’:‘王小六’})

运行结果如图所示:
在这里插入图片描述
总结一下,“find”的参数相当于一个字典。字典的 Key 就是字段名,字典的值就是要查询的值。如果字典有多个Key,则这些字段需同时满足。

3.查询范围值数据

如要查询的字段值能够比较大小,则查询时可以限定值的范围,例如,对数据集example_data_1,要查询所有“age”字段不小于25的记录,则需要使用大于等于操作符“$gte”。查询语句如下:

db.getCollection(‘example_data_1’).find({‘age’: {‘$gte’: 23}})

运行效果如图所示:
在这里插入图片描述
查询某个范围的数据会用到的操作符见下表:
在这里插入图片描述
使用范围操作符的查询语句格式如下:

db.getCollection(‘example_data_1’).find({‘age’: {‘操作符1’: 边界1,‘操作符2’: 边界2}})

可以看出,在使用范围操作符后,原本填写被查询值的地方现在又变成了一个字典。这个字典的Key是各个范围操作符,而它们的值是各个范围的边界值。
【举例1】查询所有“age”大于21并小于等于24的数据,查询语句如下:

db.getCollection(‘example_data_1’).find({‘age’: {‘ l t ′ : 24 , ′ lt': 24, ' lt:24,gt’: 21}})

【举例2】查询所有“age”大于21并小于等于24的数据,且“name”不为“夏侯小七”的记录

db.getCollection(‘example_data_1’).find({
‘age’: {
l t ′ : 24 , ′ lt': 24, ' lt:24,gt’: 21
},
‘name’:{‘$ne’:‘欧阳小七’}
})

4.限定返回哪些字段

“find”命令可以接收两个参数:第1个参数用于过滤不同的记录,第2个参数用于修改返回的字段,如果省略第2个参数,则MongoDB会返回所有的字段。如要限定字段,则查询语句的格式如下:

db.getCollection(‘example_data_1’).find(用于过滤记录的字典,用于限定字段的字典)

其中,用于限定字段的字典的Key为各个字段名。其值只有两个——0或1。

  • 如果值为0,则表示在全部字段中剔除值为0的这些字段并返回。
  • 如果值为1,则表示只返回值为1的这些字段。
    例如,查询数据集example_data_1,但不返回“address”和“age”字段,查询语句如下:

db.getCollection(‘example_data_1’).find({}, {‘address’: 0, ‘age’: 0})

运行结果为如图所示:
在这里插入图片描述
再例如,要求只返回name字段和age字段,则查询语句如下:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

大厂,18年进入阿里一直到现在。**

深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-AwiOCNiD-1712977923789)]
[外链图片转存中…(img-d6RGXnZ8-1712977923790)]
[外链图片转存中…(img-ltSzdbbc-1712977923791)]
[外链图片转存中…(img-J6ppWF5p-1712977923791)]
[外链图片转存中…(img-lPI8htTa-1712977923792)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-NtDSCq3O-1712977923792)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 28
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装MongoDB的步骤如下: 1. 首先,从MongoDB的官网(https://www.mongodb.com/)下载所需版本的MongoDB。建议选择5.0版本,因为在6.0以上版本中可能会出现一些问题。 2. 下载完成后,将压缩包解压,并将解压后的文件夹重命名为mongodb。 3. 打开终端,进入mongodb目录。如果你的终端是zsh,需要修改环境变量配置文件为.zshrc;如果是bash,需要修改为.bash_profile。在配置文件中添加以下内容:export PATH=/usr/local/mongodb/bin:$PATH。 4. 然后,启动MongoDB。在终端中输入sudo mongod --dbpath /usr/local/mongodb --logpath /usr/local/mongodb/log/mongo.log。 5. 如果在启动过程中出现问题,比如直接关闭终端导致无法启动MongoDB,可以在/usr/local/mongodb/data目录中找到mongod.lock文件并删除它。然后重新输入启动命令sudo mongod --dbpath /usr/local/mongodb --logpath /usr/local/mongodb/log/mongo.log。 6. 如果一切顺利,你可以通过输入mongo命令来进入MongoDB的交互界面。如果成功进入界面,说明MongoDB已经成功安装和启动了。 请注意,以上步骤是针对在Mac上安装MongoDB入门指南。具体的安装步骤可能会因个人环境和版本而有所不同。 #### 引用[.reference_title] - *1* *2* *3* [mac系统安装MongoDB](https://blog.csdn.net/weixin_43550366/article/details/127839923)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值