MongoDB数据库操作:增删改查全面指南
46 浏览量
更新于2024-09-02
收藏 46KB PDF 举报
"Mongo DB增删改查命令"
MongoDB是一种流行的开源、文档型的NoSQL数据库,因其灵活性、高性能和易于扩展性而受到广大开发者的喜爱。在MongoDB中,对数据进行操作通常涉及增(添加数据)、删(删除数据)、改(更新数据)和查(查询数据)这四个基本操作。以下将详细介绍这些命令及其示例。
1. 列出并选用
- 列出所有数据库:使用`show dbs`命令,它会显示当前服务器上已有的数据库及其大小。例如:
```
> show dbs
local 0.000GB
myblog 0.000GB
```
- 使用某个数据库:通过`use <database>`命令切换到指定的数据库。如:
```
> use myblog
switched to db myblog
```
- 列出所有集合:在选定的数据库中,使用`show collections`来查看该数据库中的所有集合。
```
> show collections
articles
replicationCollection
sessions
users
wangduanduan
```
2. 插入数据
- 使用`db.<collection>.insert(<document>)`命令向集合中插入文档。如果集合不存在,MongoDB会自动创建。例如:
```
// 在已存在的集合中插入数据
> db.users.insert({name: 'hh', age: 23})
Inserted 1 record(s) in 43ms
// 在不存在的集合中插入数据
> db.students.insert({name: 'hh', age: 23})
Inserted 1 record(s) in 72ms
```
3. 查询数据
- 查询集合里所有的文档:使用`db.<collection>.find()`无条件查询所有文档。
```
> db.users.find()
/*1*/
{
"_id": ObjectId("583e908453be942d0c5419dc"),
"login_name": "wangduanduan",
"password": "wrongage"
}
/*2*/
...
```
- 按条件查询文档:通过传递一个对象作为参数,可以指定查询条件。
```
> db.users.find({name: 'wangduanduan'})
/*1*/
{
"_id": ObjectId("583fb2e9b12f8b7a7aa37572"),
"name": "wangduanduan",
"age": 34.0
}
```
4. 更新数据
- 更新数据使用`db.<collection>.update(<query>, <update>, {upsert: <bool>, multi: <bool>})`。例如,更新名为“hh”的用户年龄:
```
> db.users.update({name: 'hh'}, {$set: {age: 25}})
Updated 1 existing record(s) in 1ms
```
- 如果想在不存在的情况下创建新记录,可以设置`upsert`为`true`。
5. 删除数据
- 删除单个文档:`db.<collection>.remove(<query>, {justOne: <bool>})`,例如删除名为“hh”的用户:
```
> db.users.remove({name: 'hh'})
Removed 1 record(s) in 1ms
```
- 清空整个集合:`db.<collection>.remove()`,将删除集合中所有文档。
```
> db.users.remove({})
Removed 4 record(s) in 1ms
```
6. 更高级的操作
- 此外,MongoDB还提供了聚合框架(aggregate)、索引管理(createIndex, dropIndex等)、复制集管理等高级功能,以满足复杂的数据处理和高可用性需求。
掌握这些基本的MongoDB增删改查命令是理解和使用MongoDB的基础,随着实践经验的积累,你将能更熟练地应对各种数据操作场景。
2021-09-10 上传
2022-08-03 上传
2023-08-28 上传
2023-02-06 上传
2023-08-03 上传
2023-09-13 上传
2021-01-20 上传
2017-11-15 上传
2020-12-16 上传
weixin_38562026
- 粉丝: 3
- 资源: 949
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录