当前位置: 首页 > news >正文

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。

http://www.lryc.cn/news/428439.html

相关文章:

  • 【python基础】—利用pandas读取或写入mysql表数据
  • C/C++信号量
  • SSL Pining 问题解决方案
  • 【Spring Boot】全局异常处理
  • 安全基础学习-SM3加密算法
  • MySQL中处理JSON数据:大数据分析的新方向
  • K8S 容器调度
  • C++ //练习 17.2 定义一个tuple,保存一个string、一个vector<string>和一个pair<string, int>。
  • 外观检测设备真的能提高生产效率吗?
  • ant design pro 中用户的表单如何控制多个角色
  • Prometheus监控系统
  • mq-fanout交换机
  • android13禁用打开wifi ap 热点
  • 前端宝典之六:React源码解析之lane模型
  • 邦德咖啡线下门店盛大开业,引领国产健康咖啡新风尚
  • Elasticsearch + Search UI 构建一个文件搜索引擎
  • 机械学习—零基础学习日志(如何理解概率论2)
  • 鸿蒙关于手机全局本地文件读取,写入
  • 嵌入式企业面试真题
  • 开源一款H5自适应留言表白墙php源码下载
  • jmeter引入jar包的三种方式
  • 零基础学习Redis(5) -- redis单线程模型介绍
  • Android Audio
  • 远程MySQL数据库:定义、优势及cPanel的数据库工具
  • 【docker】Dockerfile
  • Redis 的 List 结构非常适合用于实现消息队列php
  • 极速闪存启动:SD与SPI模式的智能初始化指南
  • 利用多Lora节省大模型部署成本|得物技术
  • 使用SSMS连接和查询 SQL Server 实例
  • HarmonyOS Next原生应用开发-从TS到ArkTS的适配规则(十五)