MongoDB快速入门CRUD

2024-08-20 20:52
文章标签 入门 快速 mongodb crud

本文主要是介绍MongoDB快速入门CRUD,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 数据库管理

1.1 切换数据库

切换到名为 myDatabase 的数据库。如果该数据库不存在,MongoDB 会在第一次写入数据时自动创建它。

use myDatabase;

1.2 查看当前数据库

显示当前使用的数据库的名称。

db;

1.3 显示所有数据库

列出当前 MongoDB 实例中的所有数据库。

show dbs;

2. 集合管理

2.1 创建集合

在当前数据库中创建一个名为 book 的集合。集合是 MongoDB 中存储文档的地方。

db.createCollection("book");

2.2 创建有验证规则的集合

创建一个名为 books 的集合,设置为 capped(固定大小)并定义验证规则。该集合最多可容纳 1000 个文档,大小限制为 1024 字节。

db.createCollection("books", {capped: true,size: 1024,max: 1000,validator: {$jsonSchema: {bsonType: "object",required: ["book_name", "book_money"],properties: {book_name: {bsonType: "string",description: "书名必须为字符串且为必填项"},book_money: {bsonType: "string",description: "价格必须为字符串且为必填项"}}}},validationLevel: "strict",validationAction: "error"
});

3. 文档操作

3.1 插入单个文档

向 book 集合中插入一个文档,包含书名、价格和语言字段。

db.book.insertOne({name: "《疯狂Java讲义》第六版",money: 100,language: "Java"
});

3.2 插入多个文档

使用 insertMany 方法一次性插入多个文档到 books 集合中。

db.books.insertMany([{book_name: "《疯狂Python讲义》",book_money: "123"},{book_name: "《刘海柱》",book_money: "30"}
]);

4. 更新文档

4.1 更新单个文档

更新 _id 为特定值的文档,将 book_name 和 book_money 字段设置为新的值。

db.books.updateOne({_id: ObjectId("66c3069ea50d000087000a10")},{$set: {book_name: "《维生素》",book_money: "30"}},{upsert: false}
);

4.2 更新多个文档

更新所有 book_name 为 "《买瓜子》" 的文档,将其字段更新为新的值。

db.books2.updateMany({book_name: "《买瓜子》"
}, {$set: {book_name: "修改了 ",book_money: "55"}
});

5. 查询文档

5.1 查找单个文档

查找 book_name 为 "《奥里给》" 的第一个文档并返回。

db.books2.findOne({book_name: "《奥里给》"}
);

5.2 查找多个文档

查找 book_money 小于 "40" 的所有文档。

db.books2.find({book_money: {$lt: "40"}
});

6. 删除文档

6.1 删除多个文档

删除所有 book_name 为 "诶" 的文档。

db.books2.deleteMany({book_name: "诶"}
);

6.2 删除单个文档

删除 book_name 为 "《维生素666t》" 的单个文档。

db.books2.deleteOne({book_name: "《维生素666t》"}
);

6.3 查找并删除文档

查找并删除 book_name 为 "爱的番茄" 的文档。

db.books2.findOneAndDelete({book_name: "爱的番茄"}
);

7. 排序与限制

7.1 排序结果

db.books2.find().sort({book_sort: -1
});

7.2 跳过和限制结果

跳过前 2 个结果,并限制返回 3 个文档。

db.books2.find().skip(2).limit(3);

8. 使用逻辑操作符

8.1 使用 $and

查找 book_name 不等于 "《奥里给》" 且 book_money 不等于 "30" 的文档。

db.books2.find({$and: [{book_name: {$ne: "《奥里给》"}},{book_money: {$ne: "30"}}]
});

8.2 使用 $or

查找 book_name 为 "奥迪卡" 或 "哈哈哈" 的文档。

db.books2.find({$or: [{book_name: "奥迪卡"},{book_name: "哈哈哈"}]}
).pretty();

总结

通过以上操作,我们可以看到 MongoDB 提供了丰富的功能来管理和操作数据。无论是插入、更新、查询还是删除,MongoDB 都为开发者提供了灵活和高效的方式来处理数据。希望这篇入门指南能帮助你更好地理解和使用 MongoDB。

这篇关于MongoDB快速入门CRUD的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1091142

相关文章

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

Mybatis-Plus 3.5.12 分页拦截器消失的问题及快速解决方法

《Mybatis-Plus3.5.12分页拦截器消失的问题及快速解决方法》作为Java开发者,我们都爱用Mybatis-Plus简化CRUD操作,尤其是它的分页功能,几行代码就能搞定复杂的分页查询... 目录一、问题场景:分页拦截器突然 “失踪”二、问题根源:依赖拆分惹的祸三、解决办法:添加扩展依赖四、分页

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

史上最全MybatisPlus从入门到精通

《史上最全MybatisPlus从入门到精通》MyBatis-Plus是MyBatis增强工具,简化开发并提升效率,支持自动映射表名/字段与实体类,提供条件构造器、多种查询方式(等值/范围/模糊/分页... 目录1.简介2.基础篇2.1.通用mapper接口操作2.2.通用service接口操作3.进阶篇3

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1:

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R