MongoDB命令

本文详细介绍了MongoDB的基本操作,包括查看和切换数据库、创建与删除集合、数据的CRUD操作以及聚合操作。重点讲解了数据的添加、查询、更新和删除,涉及条件查询、逻辑操作、分页查询、批量操作等。此外,还探讨了MongoDB的聚合管道和MapReduce编程模型,展示了如何进行数据统计和复杂分析。内容实用,适合MongoDB初学者及进阶者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、MongoDB的基本操作

查看数据库

show dbs;

切换数据库,如果没有对应的数据库则创建

use 数据库名;

创建集合

db.createCollection("集合名")

查看集合

show tables;
show collections;

删除集合

db.集合名.drop();

删除当前数据库

db.dropDatabase();

2、MongoDB集合数据操作(CURD)

(1)数据添加

插入单条数据:db.集合名.insert(文档)

  • 文档的数据结构和JSON基本一样。
  • 所有存储在集合中的数据都是BSON格式。
  • BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。

例如:

db.lg_resume_preview.insert({name:"张晓峰",birthday:new ISODate("2000-07-01"),expectSalary:15000,gender:0,city:"bj"});

没有指定 _id 这个字段,系统会自动生成,当然我们也可以指定 _id 。

_id 类型是ObjectId 类型是一个12字节 BSON 类型数据,有以下格式:
前4个字节表示时间戳 ObjectId("对象Id字符串").getTimestamp() 来获取接下来的3个字节是机器标识码,紧接的两个字节由进程id组成(PID),最后三个字节是随机数。

插入多条数据:db.集合名.insert([文档,文档])

db.lg_resume_preview.insert([
    {name:"张晓丽",birthday:new ISODate("2001-04-01"),
expectSalary:25000,city:'bj'},
    {name:"李丽",birthday:new ISODate("2002-06-01"),
expectSalary:18000,city:'sh'}]);

(2)数据查询

比较条件查询:db.集合名.find(条件)

操作 条件格式 例子 RDBMS中的条件
等于 {key:value} db.col.find({字段名:值}).pretty() where 字段名=值
大于 {key:{$gt:value}} db.col.find({字段名:{$gt:值}}).pretty() where 字段名>值
小于 {key:{$lt:value}} db.col.find({字段名:{$lt:值}}).pretty() where 字段名<值
大于等于 {key:{$gte:value}} db.col.find({字段名:{$gte:值}}).pretty() where 字段名>= 值
小于等于 {key:{$lte:value}} db.col.find({字段名:{$lte:值}}).pretty() where 字段名<= 值
不等于 {key:{$ne:value}} db.col.find({字段名:{$ne:值}}).pretty() where 字段名!=值

注意:当find里面的条件为空时,则会查询所有的数据,pretty()方法,被用来优化我们查询结果的展示,更方便我们观看。

逻辑条件查询:

and 条件

### MongoDB命令列表及用法 #### 启动MongoDB服务 为了启动MongoDB,可以使用如下命令来初始化并运行该服务[^1]: ```bash mongod --dbpath /path/to/data/db ``` 对于已经配置好环境变量的情况,在大多数情况下仅需输入`mongod`即可启动默认实例。 #### 进入Mongo Shell 连接至正在运行中的MongoDB服务器,可以通过mongo shell实现: ```bash mongo ``` 这会尝试连接到localhost上的默认端口(27017)[^2]。 #### 数据库操作命令 创建或切换当前使用的数据库可通过`use`语句完成: ```javascript use myNewDatabase; ``` 查看现有数据库列表可利用`show dbs`指令;而要获取有关选定数据库的信息,则能调用`db.stats()`方法。 #### 集合管理 展示指定数据库内的所有集合名称适用`show collections`; 创建新集合则通过`db.createCollection(name, options)`函数达成. 针对已有集合执行删除动作时采用`db.collection.drop()`. 此外还有更多关于索引建立、文档增删改查等功能性的命令等待探索[^3]. #### 备份与恢复 当涉及到数据的安全保存或者迁移工作之时,mongodump工具能够帮助导出整个数据库或是单个集合的数据文件; 对应地,mongorestore允许从这些备份中重新导入数据回目标位置. ```bash # 导出名为'test'的数据库下的全部内容到指定路径下 mongodump -h 127.0.0.1:27017 -d test -o /data/mongodb/dump # 如果存在认证需求的话还需要加上用户名密码参数 mongodump --host=127.0.0.1:27017 -db=database1 -o=/data/mongodb/dump \ -u=用户名 -p=密码 --authenticationDatabase=admin # 使用mongorestore进行数据还原前最好确认目的地址为空以免覆盖重要资料 mongorestore --host=127.0.0.1:27017 --db=database1 --dir=/data/mongodb/db1 \ -u=用户名 -p=密码 --authenticationDatabase=admin ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠然予夏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值