
MongoDb的基本操作快速入门
MongoDB在启动时可能占用较多磁盘空间,建议使用 查询表达式匹配文档时,需要以JSON对象形式提供。 更新操作默认只修改一行数据,使用 定期备份数据库,确保数据安全。 使用合适的索引优化查询性能。 分布式处理大数据量时,采用分片(Shard)技术。 配置合理的日志存储路径,防止磁盘过载。
发布日期:2025-04-14 17:46:21
浏览次数:9
分类:精选文章
本文共 2435 字,大约阅读时间需要 8 分钟。
MongoDB简介及安装与操作指南
MongoDB简介
MongoDB是一款基于分布式存储的开源数据库系统,常被称为文档数据库。与传统的关系型数据库不同,MongoDB将数据存储为文档形式,每个文档由键值对(key-value pairs)组成,类似于JSON对象(BSON转化为JSON格式)。其内置执行引擎采用JS解释器,将文档存储为BSON格式,并在查询时将其转换为JS对象,使开发者能够利用熟悉的JS语法进行操作。
MongoDB与传统数据库的主要区别
- 传统型数据库:结构化数据,表结构固定,所有行的内容必须符合表结构,列的个数及类型一致。
- 文档数据库:文档存储的每篇文章可以有独特的结构或属性和值,数据灵活性更高。
MongoDB安装指南(CentOS7环境下)
1.下载MongoDB安装包
# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.4.tgz
2.解压并安装
# tar -xvf mongodb-linux-x86_64-rhel70-3.4.4.tgz -C /usr/local
3.启动MongoDB服务
进入解压目录并重命名:
# cd /usr/local# mv mongodb-linux-x86_64-rhel70-3.4.4 mongodb# cd mongodb
创建数据目录并启动服务:
# mkdir -p /home/mongodata/{dbpath}/var/log/mongolog/# ./bin/mongod --dbpath /home/mongodata/ --logpath /var/log/mongolog/mongo.log --fork --port 27017
4.连接MongoDB
# ./bin/mongo
注意:在老版本中,MongoDB在启动时会占用较多磁盘空间,建议使用--smallfiles
选项减少占用空间至400MB左右。
MongoDB基本操作示例
1.入门操作
查询所有库列表
> show dbs
切换数据库
> use local
创建数据库
> use shop# 或直接使用 use 后的数据库名称(库会自动创建)
创建集合(集合类似于传统数据库的表)
> db.createCollection('user')
插入数据
单篇文档插入
> db.user.insert({name: '张三', age: 18})
多篇文档插入
> db.user.insert([{name: '李四', age: 20}, {name: '王五', age: 25}])
指定ID插入
> db.user.insert({_id: 2, name: '赵六', age: 30})
查询数据
查询所有文档
> db.user.find()
查询特定字段
> db.user.find({},{name: 1}) # 查询name字段> db.user.find({},{name: 1, _id: 0}) # 查询name字段,忽略_id
删除操作
删除单篇文档
> db.user.remove({name: '张三'})
删除多篇文档
> db.user.remove()
删除指定文档
> db.user.remove({name: '李四', age: 20}, true)
2.增删改查(CURD操作)
增操作(Insert)
- 插入单篇文档
> db.collection.insert({sn: '001', name: '小明'})
- 插入多篇文档
> db.collection.insert([{sn: '002', name: '小红'},{sn: '003', name: '小蓝'}])
- 指定ID插入
> db.collection.insert({_id: 2, sn: '004', name: '小强'})
删操作(Delete)
- 删除指定文档
> db.collection.remove({sn: '002'})
- 删除所有文档
> db.collection.remove()
- 删除指定文档(仅删除一行)
> db.collection.remove({name: '张三'}, true)
改操作(Update)
- 更新指定字段
> db.collection.update({name: '张三'}, {$set: {name: '张三变了'}})
- 执行多行更新
> db.collection.update({name: '张三'}, {$set: {name: '张三变了'}}, {multi: true})
- 插入新文档(upsert)
> db.collection.update({_id: 100}, {name: '李四'}, {upsert: true})
查操作(Find)
- 查询所有文档
> db.collection.find()
- 查询指定字段
> db.collection.find({},{name: 1}) # 查询name字段> db.collection.find({},{name: 1, _id: 0}) # 忽略_id字段
注意事项
--smallfiles
选项减少占用空间。multi
选项可修改多行。MongoDB优化建议
通过以上操作,您可以快速上手MongoDB,熟悉其文档数据库的特点和操作方式。
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年05月01日 21时21分48秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
materialTabControl1_SelectedIndexChanged的使用
2025-04-12
matlab中APP介绍-ChatGPT4o作答
2025-04-12
matlab图的连通性算法,matlab判别图的连通性.doc
2025-04-12
MATLAB实现各种熵:香农熵、条件熵、模糊熵、样本熵等
2025-04-12
MBA中的企业金融课程涉及什么内容
2025-04-13
MD5的算法(C)
2025-04-13
Meikade开源项目常见问题解决方案
2025-04-13
Member var and Static var.
2025-04-13
Memcached对象缓存详解
2025-04-13
memcached的LRU删除机制
2025-04-13
memcached缓存服务器的安装
2025-04-13
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
2025-04-13
Memcached:Node.js 高性能缓存解决方案
2025-04-13
memcache、redis原理对比
2025-04-13
memcache与memcached的区别
2025-04-13
MemCache在win7上的可视化配置以及Nodejs/Net应用
2025-04-13
memcache编译安装(cygwin环境)
2025-04-13
memory management before arc
2025-04-13
memset初始化高维数组为-1/0
2025-04-13