MongoDB入门(1)- MongoDB简介_dcwbi40268的博客-程序员秘密

什么是MongoDB

NoSQL

NoSQL systems are also sometimes called "Not only SQL" to emphasize that they may support SQL-like query languages.

MongoDB

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

官网:https://www.mongodb.com/
协议:AGPL

MongoDB有啥好处

网上查的
它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

  • 面向集合存储,易存储对象类型的数据。
  • 模式自由。
  • 支持动态查询。
  • 支持完全索引,包含内部对象。
  • 支持查询。
  • 支持复制和故障恢复。
  • 使用高效的二进制数据存储,包括大型对象(如视频等)。
  • 自动处理碎片,以支持云计算层次的扩展性
  • 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。
  • 文件存储格式为BSON(一种JSON的扩展)
  • 可通过网络访问

对我们来说

  • 开发方便,不用ORM
  • 有GridFS

什么时候用MongoDB

  • 不需要事务的时候都可以用
  • 需要快速开发的时候
  • 千万不要用32位的

MongoDB存储内容

MongoDB存储的是类似json的内容,如下:

/* 1 */
{
    "_id" : ObjectId("5609f6e70c151c1354461d8b"),
    "name" : "che",
    "mail" : "[email protected]",
    "selfIntroduction" : "11212",
    "password" : "8520eb891c5c7a123ab99dfa4b8795b7",
    "headpicPath" : "attached\\entrepreneurHeadPortrait\\2015-11-30\\1448866716800_QQ截图20150721084547.png",
    "headpicName" : "QQ截图20150721084547.png",
    "company" : "1",
    "companyPosition" : "12",
    "idea" : "121212",
    "skill" : "56456465654",
    "focusArea" : [ 
        "移动互联网", 
        "汽车交通", 
        "旅游"
    ],
    "focusAreaStr" : "移动互联网, 汽车交通, 旅游",
    "motto" : "",
    "telephone" : "13555665566",
    "sex" : 0,
    "viewCount" : 0,
    "sort" : 0
}

/* 2 */
{
    "_id" : ObjectId("560a0b7e0c15cb52f24695b4"),
    "name" : "cheyantao",
    "mail" : "[email protected]",
    "selfIntroduction" : "大的肥大的法定的",
    "password" : "7cfc8e877bafa013db4de20d94f59ad2",
    "company" : "慧萌",
    "companyPosition" : "你猜",
    "idea" : "阿萨德飞阿萨德飞啊挨打",
    "skill" : "玩,玩,玩,",
    "focusAreaStr" : "移动互联网, 互联网金融, 汽车交通, 新兴技术",
    "motto" : "",
    "telephone" : "18233138035",
    "sex" : 0,
    "audit" : 1,
    "viewCount" : 0,
    "sort" : 0
}

转载于:https://www.cnblogs.com/wardensky/p/5799271.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dcwbi40268/article/details/102288384

智能推荐

pandas修改列名_i徒然的博客-程序员秘密

pandas读取数据之后经常需要修改列名,那么该怎么修改呢??import pandas as pda = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6], 'C':[7,8,9]})1.简单粗暴a.columns = ['第一列', '第二列', '第三列']a  2.温柔一点的上面的方法修改列名必须是修改所有列名,在列比较少的情况下...

为什么几乎所有的编程语言第一课都是HelloWorld?_小杰码匠的博客-程序员秘密

在显示屏上打印一行字HelloWorld1. HeloWorld的惯例  按照惯例,所有编程语言开始的第一堂课就是在显示屏上打印一行字符“HelloWorld”了。  让我们稍微回顾一下C语言的历史,并了解一下这个惯例的出处。C语言在1972年的时候,由Dennis Ritchie及其同事在贝尔实验室创立。  《The C Programming Language》是由C语言的设计者De...

AUTOSAR COM 如何将Signal 做成Message 发送/接收_frame与signal区别_Archieeeeee的博客-程序员秘密

目录前言两种解决方式1. 导入DBC后修改Signal的属性1. 实现原理2. 实现接口2. 手动实现总结前言开发时,可能遇到应用层(MBD)自己解析Message,并不需要Com将Message解析成Signal,这个时候Com以Signal为单位的接口反而会造成困难,下面将介绍如何解决!两种解决方式1. 导入DBC后修改Signal的属性如下图所示,正常的Signal修改后的Signal这里可以看到,只需要将ComSignalType 修改成UINT8_N,在将SignalLength

Embedded ARM-Linux interview_JoysonQin的博客-程序员秘密

嵌入式linux面试题解析——ARM部分http://blog.csdn.net/qr_ljj/article/details/53069599 1、FIQ比IRQ快的原因:A、FIQ模式的R8--R14寄存器是独有的,FIQ处理程序可以不必执行保存和恢复中断现场的指令。B、FIQ可以将ISR直接放在FIQ后面的地址空间,不需要跳转。

maven 项目 maven dependencies报错 手动引入到maven库中后还报错_大哥的叔的博客-程序员秘密

首先是dependencies报错,第一个查看是否存在相应jar包,因为是手动引入所以不存在没有jar包的问题 ,然后把jar包放入指定maven库中然后进行install发现可以成功,证明已经引入了但是dependencies依然宝报错,接下来直接报pom.xml中的报错依赖jar剪切下来然后包重新引入之后就不会报错。猜测原因可能是自动引入的问题删除之后进入不存在了...

Swiper(介绍、官网链接、引入链接、使用方式,滑动样式属性含义、查找滑动效果、动态Swiper、Vue-CLI引入)_YF-SOD的博客-程序员秘密

Swiper简介Swiper是纯javascript打造的滑动特效插件,面向手机、平板电脑等移动终端。能实现触屏焦点图、触屏Tab切换、触屏轮播图切换等常用效。Swiper官网链接https://www.swiper.com.cn/Swiper6引入链接使用前需要同时引入下面css、js(min代表压缩版)。<link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.css"><link

随便推点

自媒体账号如何注册申请_自媒体申请注册_小易自媒体的博客-程序员秘密

如何利用自媒体挣取到人生第一桶金,建议大家可以从以下几个方面入手。一、申请自媒体账号申请自媒体账号需要的材料:身份证,手机号,辅助材料:微信公众号或者博客写过文章的都可以。如果实在不会弄就去买一个账号先练手,可以先熟悉一下是怎么操作的。二、哪些自媒体平台收益较高?企鹅号,百家号,大鱼号收益高。如今都在抢自媒体这块大蛋糕。这几个当中百家号收益是最高的,因为新手期写文章就有收益。企鹅号,大鱼号需要过了试运营才有收益。如果你是原创写手,你的收益是可以翻倍的。三、怎么快速度过新手期?怎样

Vue过渡实现div的展开和收起的动画效果_div展开动画_Maple-Ning的博客-程序员秘密

记录一下在项目中使用过的vue过渡效果//template部分//移入和移出改变mainDiv的显示状态<div @mouseover="mouseOver1" @mouseleave="mouseLeave1"></div>//vue的过渡<transition name="draw"> <div class="mainDiv" v-show="show1"> </div></transition>//s

【Android WebSocket】状态管理框架 - WebSocketGo_websocket框架_不秃头de程序猿的博客-程序员秘密

为了方便大家更加了解故事的背景,顺便科普一下智能家居,想直奔WebSocket主题的童鞋可以直接第二章节。智能家居,算是物联网的一个典型应用场景。什么是物联网呢,字面意思就是把众多物体连接起来组成一个网络,英文是Internet of things(IoT)。小到一个你的手机跟蓝牙耳机,大到一个城市的各个角落,究极形态就是“万物互联”。(为什么突然想起万佛朝宗 -_-!)IoT其实不在意网络的协议,也不在意连接的到底是什么东东,就这种形态本身而言,就是IoT。其实这个概念其实很早就有了,在笔者上大学那会,不

LeetCode题解—424.替换后的最长重复字符,用最长的时间换来最简单的方法_小滔撸起袖子加油卷的博客-程序员秘密

解题思路这道题和最长子序列有相似之处,可以理解为先把最长子序列找出来,在找的过程中就可以利用替换来增加子序列的长度,也可以理解为在还有替换次数的情况下可以忽视遇到的不相同的元素。以上是大概思路。首先是找升级版的最长子序列,因为可以替换。逐个遍历下去判断即可,这是最简单的方法了,暴力解决。找完之后,如果还有替换次数没用完,那就继续换,length++。最后得到结果最后我的时间是1304ms,击败5%的人哈哈哈哈哈哈哈。class Solution {public: int charact

python延迟导入模块_weixin_34111790的博客-程序员秘密

2019独角兽企业重金招聘Python工程师标准>>> ...