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快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

使用Python实现操作mongodb详解

《使用Python实现操作mongodb详解》这篇文章主要为大家详细介绍了使用Python实现操作mongodb的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、示例二、常用指令三、遇到的问题一、示例from pymongo import MongoClientf

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多