一、背景介绍
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
主要特性:
面向集合存储,易于存储对象类型的数据
模式自由
支持动态查询
支持完全索引,包含内部对象
支持复制和故障恢复
使用高效的二进制数据存储,包括大型对象
文件存储格式为BSON(一种JSON的扩展)
二、知识剖析
文档(document)是MongoDB中数据的基本单元,非常类似于关系型数据库系统中的行(但是比行要复杂的多)
集合(collection)就是一组文档,如果说MongoDB中的文档类似于关系型数据库中的行,那么集合就如同表
MongoDB的单个计算机可以容纳多个独立的数据库,每一个数据库都有自己的集合和权限
MongoDB自带简洁但功能强大的JavaScript shell,这个工具对于管理MongoDB实例和操作数据作用非常大
每一个文档都有一个特殊的键"_id",它在文档所处的集合中是唯一的,相当于关系数据库中的表的主键
基本的命令:
1.创建数据库:use mydb1
2.删除当前数据库:db.dropDatabase()
3.查看所有数据库:show dbs
4.查看当前的数据库:db
5.查看当前所有数据库中的集合:show tables || show collections
6.创建集合两种方式:
显示创建:db.createCollection("集合名成");
隐式创建:db.集合名称.insert({name:"李四",age:22});
7.向集合添加文档:db.集合名称.insert({name:"李四",age:22});
8.删除集合文档:db.集合名称.remove({删除条件});
db.集合名称.remove(); --删除了所有文档
9.查询集合中的文档:db.集合名称.find({条件});
db.集合名称.findOne(); -- 查出第一个
三、常见问题
Mongodb命令不习惯
四、解决
看操作
五、扩展思考
Mongodb还支持一些额外的参数选项:有时候我们返回特定的参数
//返回除了age所有字段
db.集合名称.find({},{age:0});
//返回tags=ten除了comments的所有列
db.集合名称.find({tags:'ten'},{comments:0});
//返回id=16 的nane 字段
db.集合名称.({id:16},{name:1});
注意:——id字段始终都会返回。
六、参考文献
菜鸟编程
问答阶段:
谭道霄:现在MongoDB是不是没人使用了
答:看具体场景使用。
IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !
师兄带你入门!