MongoDB常用操作

本文详细介绍了如何在Linux和Windows系统中设置MongoDB开机自启,以及MongoDB的基础操作,包括启动/停止、数据导出导入、备份与恢复,还涉及了BSON格式和数据库管理命令。
摘要由CSDN通过智能技术生成

1、 开机自启

对于 Linux 系统

先编写shell脚本,下面的 mongod 为MongoDB的默认服务名,若本地做出了修改,对应的服务名也需要修改

#!/bin/bash

# 启动MongoDB
sudo systemctl start mongod

再将上面的 shell 脚本添加到系统启动项中

使用下面的命令设置开机自启

sudo update-rc.d mongo-startup.sh defaults

对于Windows系统(使用命令模式)

① 打开命令行工具(例如cmd或PowerShell)。

② 输入以下命令,在任意目录(最好是C盘)下创建一个名为“mongod-start.bat”的批处理文件,并将以下内容复制到文件中:

@echo off
start "" "C:\Program Files\MongoDB\Server\4.4\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\4.4\mongo.cfg"

请注意,上面的地址需要修改成服务器上安装MongoDB的真实位置

保存并关闭批处理文件。

③ 按Win+R组合键打开运行对话框,输入“shell:startup”,打开启动文件夹。

④ 在启动文件夹中,创建一个名为“MongoDB Startup”的快捷方式,并将其指向上面创建的“mongod-start.bat”文件。这将使mongod启动脚本在每次系统启动时都会运行。

对于Windows系统(手动操作模式)

① 打开“任务计划程序”(Task Scheduler)。

② 在左侧面板中,单击“任务计划程序库”(Task Scheduler Library),然后在上方的菜单栏中选择“创建任务”(Create Task)。

③ 在“常规”(General)选项卡中,输入任务名称和描述,并确保选中以下两个选项:“使用最高权限运行”,以及“不管用户是否登录都要运行”。

④ 切换到“触发器”(Triggers)选项卡,单击“新建”(New),并选择何时启动此任务。在这里,您可以选择“开机启动”或其他特定时间。

⑤ 切换到“操作”(Actions)选项卡,单击“新建”(New),并在“程序/脚本”(Program/script)字段中输入MongoDB可执行文件的路径(例如“C:\Program Files\MongoDB\Server\4.4\bin\mongod.exe”),还可以在“添加参数”(Add arguments)字段中键入任何命令行参数(例如“–config C:\Program Files\MongoDB\Server\4.4\mongo.cfg”)。

⑥ 单击“确定”(OK)保存任务。

2、启动/停止

前置启动(MongoDB的默认启动方式)

/opt/mongodb/bin/mongod --dbpath /opt/mongodb/data/db/

其中 /opt/mongodb/bin/ 为 mongoDB 的安装目录,如果data中没有db文件夹,则自己新建一个即可

3、数据导出

mongoexport 命令可以将MongoDB中的数据以JSON或CSV格式导出到文件中。例如,要将一个名为mycollection的集合导出到JSON格式的文件中,可以使用以下命令:

mongoexport --db mydatabase --collection mycollection --out mycollection.json

这个命令将会把mydatabase数据库中mycollection集合的数据导出到mycollection.json文件中。

mongoimport命令可以将以JSON或CSV格式保存的数据导入到MongoDB中。

例如,要将一个JSON格式的文件mycollection.json导入到MongoDB中的mydatabase数据库中的名为mycollection的集合中,可以使用以下命令:

mongoimport --db mydatabase --collection mycollection --file mycollection.json

这个命令将会把mycollection.json文件中的数据导入到mydatabase数据库中mycollection集合中。

需要注意的是,mongoexport和mongoimport命令有很多参数,可以根据具体需求来进行调整。

同时需要注意JSON或CSV格式的数据是否符合要求,不然可能会导入失败。

4、数据导入

MongoDB的数据导入可以使用命令行工具mongoimport进行操作。

mongoimport命令的基本语法如下:

mongoimport --db <database_name> --collection <collection_name> --file <input_file>

其中,<database_name>表示要导入数据的数据库名,<collection_name>表示要导入数据的集合名,<input_file>表示要导入的文件路径。另外,还可以通过其他参数来指定导入数据的格式、字符编码、字段分隔符等信息。

例如,如果要将一个名为mydata.json的JSON格式文件导入到名为mydb的数据库中,集合名为mycollection,可以使用以下命令:

mongoimport --db mydb --collection mycollection --file mydata.json

需要注意的是,在导入数据之前需要先创建好对应的数据库和集合,并且要确保导入的数据符合MongoDB的存储格式和字段类型要求。

另外,为了提高导入速度,可以考虑使用–numInsertionWorkers参数来设置并发插入的线程数。

5、备份和恢复

mongodump和mongorestore是MongoDB提供的两个命令行工具,用于备份和恢复数据库。

mongodump可以将指定数据库中的数据转储到文件中,方便进行备份或迁移操作。mongodump支持对单个数据库、集合或整个MongoDB实例进行备份,并且可以指定输出格式(如JSON或BSON)以及要备份的数据范围(如只备份某一时间段内的数据)等选项。

mongorestore则可以将mongodump生成的备份文件重新导入到MongoDB中,从而恢复数据库。

mongorestore同样支持对单个数据库、集合或整个MongoDB实例进行恢复,并且可以指定输入格式(与mongodump对应)以及要恢复的数据范围等选项。值得注意的是,mongorestore会覆盖原有的数据,因此在使用之前需要谨慎考虑。

总之,mongodump和mongorestore是MongoDB备份和恢复数据的常用手段,可以帮助MongoDB用户保障数据的安全性和可靠性。

6、基础操作

6.1 创建数据库

use DATABASE_NAME

如果数据库不存在,则创建数据库,否则切换到指定数据库。

6.2 删除数据库

db.dropDatabase()

删除当前数据库,默认为 test,可以使用 db 命令查看当前数据库名。

6.3 插入文档

db.COLLECTION_NAME.insert(document)

db.COLLECTION_NAME.save(document)

文档的数据结构和 JSON 基本一样。所有存储在集合中的数据都是 BSON 格式。

BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。

save():如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用db.collection.insertOne() 或db.collection.replaceOne() 来代替。

insert(): 若插入的数据主键已经存在,则会抛
org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值