一、mongodb是什么?

mongodb 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
mongodb 是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系型数据库的。
mongodb 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

二、mongodb 历史
2007年10月,MongoDB由10gen团队所发展。2009年2月首度推出。
2012年05月23日,MongoDB2.1 开发分支发布了! 该版本采用全新架构,包含诸多增强。
2012年06月06日,MongoDB 2.0.6 发布,分布式文档数据库。
2013年04月23日,MongoDB 2.4.3 发布,此版本包括了一些性能优化,功能增强以及bug修复。
2013年08月20日,MongoDB 2.4.6 发布。
2013年11月01日,MongoDB 2.4.8 发布。
……
三、对比sql 与mongodb 术语/概念


四、mongodb数据库常用命令与方法

1.查看所有的数据库

$ show dbs
注意:当某个数据库下没有数据时是 show 不出来的。

2.创建/切换数据库

$ use <数据库名>
注意:要切换的数据库不存在时,会先创建出来再切换过去。

3.查看当前使用的数据库

$  db
$  db.getName( )
注意:默认都会是 test

4.显示当前数据库状态

$ db.stats( )

5.删除当前数据库

$ db.dropDatabase( )

6.修改数据库名称

//  先拷贝再删除原来的数据库
$ db.copyDatabase(‘userinfo’,’userDB’)
$ use userDB
$ db.dropDatabase( )

五、集合(collection)常用命令与方法

1.创建集合

$ db.createCollection(‘集合名字’)//db.createCollection(name, options); name: 要创建的集合名称;options: 可选参数, 指定有关内存大小及索引的选项

2.查看当前数据库下所有集合

$ db.getCollectionName( )$ show collectiongs

3.删除集合

$ db.集合名.drop( )

六、文档(document)常用命令与方法

1.插入文档

$ db.<集合名>.save(document)
$ db.<集合名>.insert(document || […document])
$ db.<集合名>.insertOne(document || […document])
$ db.<集合名>.insertMany([…document])

2.修改(更新)文档

$ db.<集合名>.save( document ); //注意:传入_id时,可以实现修改,理解为直接覆盖之前的document
$ db.<集合名>.update({query},{$update:{字段:值}},{options}
}; // query:查询条件;updata:修改内容;options:一些额外的配置(upsert:如果查询不到的时候是否直接增加这条记录,默认是false;multi:是否更新多条,默认是false)
$ db.<集合名>.updateOne({条件},{$update:{修改的字段和值}}) // 根据条件修改一条数据的内容,如出现多条只修改第一个的
$ db.<集合名>.updateMany({条件},{$update:{修改的字段和值}})// 根据条件修改所有数据的内容,多条修改

3.删除文档

$ db.<集合名>.deleteOne({query}); //只会删除第一条
$ db.<集合名>.deleteMany({query}); //会删除所有符合条件的$ db.<集合名>.remove({query},{options}); // query:查询条件;options:配置项(justOne:是否只删除一条,默认是false)。注意这里的删除数据,是删除所有数据,清空Collection

4.查询文档

$ db.<集合名>.findOne( ); // 只返回一个记录 $ db.<集合名>.find(); // 查询所有记录$ db.<集合名>.find({ age: 22 }); // 等于号查询用冒号$ db.<集合名>.find({ age: { $gt: 22 } }); // 大于查询用$gt$ db.<集合名>.find({ age: { $lt: 22 } }); // 小于查询用$lt$ db.<集合名>.find({ age: { $get: 22 } }); // 大于等于查询用$get$ db.<集合名>.find({ age: { $lte: 22 } }); // 小于等于查询用$lte$ db.<集合名>.find({ age: { $ne: 22 } }); // 不等于查询用$ne$ db.<集合名>.find({ age: { $gte: 22,$lte: 26 } }); // 大于等于 并且 小于等于 (and)查询$ db.<集合名>.find({ name: ‘zhangsan’,age: 20}); // and 查询$ db.<集合名>.find({ $or: [ { age: { $gte: 50 }  },{ name: “zhangsan" } ]); // or 查询$ db.<集合名>.find().sort({ age: 1}); // 升序查询$ db.<集合名>.find().sort({ age: -1}); // 降序查询$ db.<集合名>.find({ name: /mongo/ }); //查询包含mongo$ db.<集合名>.find({ name: /^zhang/ }); // 查询name中以zhang开头$ db.<集合名>.find({ name: /yin$/ }); // 查询以name中以yin结尾$ db.<集合名>.find({},{ name: 1, age: 1 }); // _id 会默认有,查询指定name,age字段$ db.<集合名>.find({},{ name: 1, age: 1,_id: 0 }); // 如果不想要 _id ,查询指定name,age字段$ db.<集合名>.find({},{ address: 0 }); // 如果只是排除掉一个或几个$ db.<集合名>.find({ name:{ $gt: 40 } },{ name:1, age: 1 }); // 查询指定name,age字段并且age > 40$ db.<集合名>.find().skip(10); // 查询10条之后的记录(跳过前10条)$ db.<集合名>.find().limit(5); // 查询5条记录(限制条数)$ db.<集合名>.find().skip(10).limit(5); // 查询10条之后的5条记录$ db.<集合名>.findOne(); // 查询第一条记录$ db.<集合名>.find().count(); // 获取查询结果的个数

七、参考链接

菜鸟教程:https://www.runoob.com/mongodb/mongodb-tutorial.html
官网:https://www.mongodb.com/

mongodb 基本介绍相关推荐

  1. Mongodb数据库介绍

    Mongodb数据库介绍 一种非关系型数据库mongodb,mongodb数据库主要用于海量存储,常被用在数据采集项目中. mongodb官方文档 https://docs.mongodb.com/ ...

  2. MongoDb企业应用实战(一) 写在MongoDB应用介绍之前(ii)

    上一篇: MongoDb企业应用实战(一) 写在MongoDB应用介绍之前(i) 有段时间没跟大家去分享和探讨过一些问题,分享过一些经验了(失败过的,痛苦过的才最有看点啊,不知道各位同仁们怎么去看这个 ...

  3. java连接mongodb_第78天: Python 操作 MongoDB 数据库介绍

    MongoDB 是一款面向文档型的 NoSQL 数据库,是一个基于分布式文件存储的开源的非关系型数据库系统,其内容是以 K/V 形式存储,结构不固定,它的字段值可以包含其他文档.数组和文档数组等.其采 ...

  4. 【MongoDB 工具篇】MongoDB Compass介绍与简单使用

    MongoDB Compass 是一款GUI工具,用于对MongoDB进行简单管理. 1 软件环境 使用的软件分别为: MongoDB Compass 1.19.12 MongoDB 4.2.0 2 ...

  5. MongoDB(两)mongoDB基本介绍

    MongoDB介绍 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库其中功能最丰富,最像关系数据库的.他支持的数据结构很的松散,是类似json的bjson格式,因此能够存储比 ...

  6. mongoDB简单介绍及安装

    近期一段时间对mongoDB进行了简单的学习,从它是什么?干什么?怎么用?优缺点?这一系列的疑问到如今可以简单运用.我想须要对其进行简单的总结和概述.那么这一篇就从最基础的開始,对其主要的概念和安装来 ...

  7. NoSql、MongoDb 数据库介绍及MongoDb安装、使用

    1.数据库和文件的主要区别 数据库有数据库表.行和列的概念,让我们存储操作数据更方便 数据库提供了非常方便的接口,可以让 nodejs.php java .net 很方便的实现增加修改删除功能 2.N ...

  8. MongoDB 数据库(一):MongoDB的介绍与安装

    目录 一.MongoDB数据库的介绍与安装 1.1 NoSQL数据库简介 1.2 MongoDB 简介 1.2.1 再议业务应用场景 1.2.2 为什么要使用 MongoDB 1.2.3 适用场景 二 ...

  9. MongoDB基本介绍及一些用法

    一.概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载.基本思想就是将集合切成小块,这 ...

  10. MongoDB简单介绍以及基本命令

    一.MongoDB简介 1.MongoDB是什么 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案.MongoDB 是一个 ...

最新文章

  1. Learn OpenGL (三):着色器
  2. ArrayList、linklist、list的区别
  3. iphone NSArray 数组越界
  4. orb_slam 编译错误
  5. AI公开课:19.04.10颜水成—360副总裁《人工智能:观察与实践》课堂笔记以及个人感悟—191017再次更新
  6. 我用Python爬虫挣钱的那些事
  7. 移动开发技术新趋向(三)
  8. c 指针打印变量_C程序打印不同类型的指针变量的大小。
  9. 解决The total number of locks exceeds the lock table size错误
  10. 【数据库】Window环境安装MySQL Server 5.7.21
  11. java物流管理系统代码_Java物流配送管理系统 Spring 源码下载
  12. 关于光学软件设计衍射透镜的一点总结
  13. 硬盘测试软件看接口,检测硬盘的工具使用方法
  14. 【javaEE】——多线程进阶(锁策略:面试相关考点)04
  15. android 点击按钮打开浏览器网页
  16. 人脸检测进阶:使用 dlib、OpenCV 和 Python 检测眼睛、鼻子、嘴唇和下巴等面部五官
  17. 微信公众号--素材管理
  18. 逐个点评国奥球员_原水_新浪博客
  19. 荣耀畅玩7c能用鸿蒙吗,荣耀畅玩7C评测:人脸识别双摄 超高性价比
  20. Ubuntu18.04下安装Nvidia驱动和CUDA10.1+CUDNN

热门文章

  1. SpingBoot+Quartrz生产环境的应用支持分布式、自定义corn、反射执行多任务
  2. 科技论文的图题翻译,图例,图坐标轴
  3. GPRS连接阿里云物联网平台五
  4. 肯耐珂萨2019用户生态峰会 开启HR Paas时代
  5. linux 图形界面库,几款开源的图形界面库(GUI Libraries)
  6. python凤凰新闻数据分析(一)python爬虫数据爬取
  7. python 基于搜索引擎实现文章查重
  8. RobotFramework操作xlsx表格
  9. python+pyqt5+mysql设计图书管理系统(1)- 数据库
  10. 明确工作职责的重要性