
MongoDB - 库、集合、文档(操作 + 演示 + 注意事项)
发布日期:2025-04-14 14:09:19
浏览次数:8
分类:精选文章
本文共 2132 字,大约阅读时间需要 7 分钟。
MongoDB 指南
一、MongoDB 简介
1.1 简介
MongoDB 是一种分布式文件存储数据库,由 C++ 编写,专为 Web 应用提供可拓展的高性能数据存储解决方案。它介于传统关系数据库和 NoSQL 数据库之间,支持灵活的数据结构,类似于 JSON 的 BSON 格式,能够存储复杂数据类型。MongoDB 的查询功能强大,语法类似于面向对象的查询语言,能够实现类似关系数据库单表查询的绝大部分功能,同时支持数据索引。1.2 应用场景
MongoDB 适用于以下场景:- 游戏应用:用于存储用户装备、积分等数据,直接以内嵌文档形式存储,方便查询和更新。
- 物流数据:用于存储订单状态更新,通过数组形式一次查询读取所有变更。
- 社交应用:用于存储用户信息和朋友圈数据,支持地理位置查询。
- 视频直播:用于存储用户信息和礼物信息。
- 大数据应用:作为云存储系统,支持数据提取和分析。
1.3 MongoDB 的优势
MongoDB 的内存映射机制提高了 IO 操作效率,数据模型的灵活性减少了关联性,分布式集群支持了大规模并发请求。相比 MySQL,MongoDB 在读写性能上更具优势。1.4 数据库概念
- Database(库):类似于 MySQL 的数据库概念,用于隔离不同应用数据。
- Collection(集合):类似于表,支持灵活数据存储,但无固定结构。
- Document(文档):类似于数据库表中的记录,支持丰富字段和数据类型。
二、库操作
2.1 查看所有库
show databases;
或 show dbs
命令可列出所有库,默认数据库为 test
。 2.2 创建并使用数据库
use dbname;
创建并切换到指定数据库。 2.3 查看当前数据库
默认连接的数据库为test
,可以使用 db
命令查看当前数据库。 2.4 删除数据库
db.dropDatabase();
删除当前数据库。 三、集合操作
3.1 创建集合
db.createCollection('集合名', [options]);
可选参数包括 capped
、size
和 max
。 3.2 查看库中集合
show collections;
或 show tables;
命令可查询集合。 3.3 删除集合
db.集合名称.drop();
删除指定集合。 四、文档操作
4.1 插入文档
单条文档:db.集合名称.insert({"name": "cyk", "age": 20});
多条文档: db.集合名称.insertMany([ { "name": "cyk0", "age": 20 }, { "name": "cyk1", "age": 20 } ]);
4.2 删除文档
db.集合名称.remove(query, {justOne: true});
可选参数包括 query
和 justOne
。 4.3 更新文档
db.集合名称.update(query, update, {upsert: true, multi: true});
可选参数包括 query
、update
、upsert
和 multi
。 4.4 查询文档
db.集合名称.find(query, projection);
查询条件和投影操作可通过 pretty()
格式化显示。 五、查询优化
5.1 基本查询
db.集合名称.find(query);
可选投影操作。 5.2 查询条件示例
db.user.find({name: "cyk0"})
db.user.find({_id: {$lt: 5}})
db.user.find({age: {$ne: 5}})
db.user.find({$or: [{name: "cyk1"}, {name: "cyk2"}]})
db.user.find({likes: /钢/})
db.user.find().sort({_id: -1})
db.user.find().skip(3).limit(3);
db.user.distinct('name');
db.user.find({_id: {$gt: 5}}, {name: 1});
5.3 模糊查询
通过正则表达式实现模糊查询。5.4 排序和分页
db.user.find().sort({_id: -1});
db.user.find().skip(3).limit(3);
5.5 去重
db.user.distinct('name');
5.6 指定字段返回
db.user.find({_id: {$gt: 5}}, {name: 1});
db.user.find({_id: {$gt: 5}}, {name: 0});
六、$type 操作符
$type 操作符用于基于 BSON 类型检索数据。支持数据类型包括 String、Integer、Boolean、Double、Array、Timestamp、Object、Null、Symbol、Date、ObjectId、Binary Data、Code、Regular Expression 等。
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年05月26日 08时27分44秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Mask R-CNN
2025-04-12
MASM中可以定义的变量类型
2025-04-12
MasterPage(母板页)的不一般用法
2025-04-12
MatchingFrontier包简介及R实现
2025-04-12
MaterialForm对tab页进行隐藏
2025-04-12
materialTabControl1_SelectedIndexChanged的使用
2025-04-12
Math.Atan2的基本讲解(C#版本)
2025-04-12
mathlab中deepDreamImage的参数PyramidLevels的作用
2025-04-12
Matlab save load
2025-04-12
MATLAB-Scatter3-三维散点图投影至XYZ三个平面
2025-04-12
matlab中APP介绍-ChatGPT4o作答
2025-04-12
matlab中cat函数详解-ChatGPT4o作答
2025-04-12
matlab中CNN的使用详解-ChatGPT4o作答
2025-04-12
Matlab中imshow()函数的使用
2025-04-12
Matlab中save与load函数的使用
2025-04-12
matlab中如何进行优化问题求解-ChatGPT4o作答
2025-04-12
matlab中怎么样算距离,MATLAB 距离计算
2025-04-12
matlab利用guide编写简单计算器界面
2025-04-12
matlab功率谱_EEG信号alpha波beta波等的谱密度实现(1)-原理
2025-04-12