文档章节

我的物联网综合知识之创建数据库

昌伟兄
 昌伟兄
发布于 2017/03/02 22:49
字数 800
阅读 48
收藏 0

一、MongoDB简介

我们使用MongoDB数据库来存储数据。它是一个面向文档的非关系型(NoSQL)数据库,基于分布式文件存储,由C++编写,用于超大规模数据的存储,方便对用户数据进行挖掘。

首先我们要知道MongoDB中的三个重要元素:数据库(database)、集合(collection)和文档(document),其中,“集合”对应关系数据库中的“表”(table),而“文档”对应“行”(row)。换句话说,MongoDB将数据存储为一个个的文档,而文档又组成了集合。文档的数据结构由键值对(key=>value)组成。MongoDB文档对象类似于JSON对象。如:

{

"_id" : ObjectId("58954b7f68e87f132e91b95b"),

"title" : "ggg",

"description" : "ggggg",

"rating" : 43,

"__v" : 0

}

二、MongoDB安装

在ubuntu系统中安装非常方便,直接在命令行终端中执行sudo apt-get install mongodb就可以了。

三、MongoDB基本操作

这里我们要首先了解最基本的“增删改查”(CRUD)操作。在命令行终端中,输入mongo命令打开shell,其实这个shell就是mongodb的客户端。同时也是一个js的编译器,默认连接的是test数据库。

1、Insert操作

数据库有了,下一步就是集合,这里就取集合名为person,要注意的就是文档是一个json的扩展(Bson)形式。

2、Find操作

我们将数据插入后,肯定是要find出来,不然插了也白插,这里要注意两点:① “_id": 这个字段是数据库默认给我们加的GUID,目的就是保证数据的唯一性。② 严格的按照Bson的形式书写文档,不过也没关系,错误提示还是很强大的。

3、Update操作

update方法的第一个参数为“查找的条件”,第二个参数为“更新的值”。

4、Remove操作

remove中如果不带参数将删除所有数据,这是很危险的操作,在mongodb中是一个不可撤回的操作,三思而后行。

5、常用命令参考

$mongo       //连接MongoDB服务

$mongo 数据库名      //如果数据库存在,直接连接;如果不存在,直接创建。

$show dbs           //显示所有数据库列表

$db       //显示当前连接的数据库

$use 数据库名称       //如果数据库存在,直接连接;如果不存在,就创建。

$db.集合名称.find({}).pretty()    //查询某个集合中的所有文档,并以结构化的方式显示出来

$db.集合名称.insert({title:’1111’,name:’22222’})   //向集合中插入文档

$db.集合名称.update({条件},{$set:{新的键对值}})

$db.dropDatabase()   //删除某个数据库$db.集合名称.drop()  //删除某个集合

$db.集合名称.remove()   //根据给定的条件,删除某个或某些文档

$db.集合名称.remove({})   //删除某个集合中的所有文档

$db.help()       //显示数据库操作命令

$db.col.help()   //显示集合操作命令

四、创建我们的数据库

在命令行终端中,执行mongo iot命令创建一个我们将要使用的iot数据库,非常简单。其中的集合将在后面服务端代码中进行创建。

© 著作权归作者所有

昌伟兄
粉丝 14
博文 12
码字总数 11956
作品 0
楚雄
后端工程师
私信 提问
从端到云-全面讲解物联网全栈开发之道

万物互联的时代即将到来,互联网作为当今最为火热的方向之一,无数开发者沉迷其中,那么从事物联网开发需要哪些知识储备呢?在本次分享中,来自创客学院的刘正道老师从物联网就业与岗位分析、...

笑傲江湖lcx
2018/06/11
0
0
物联网与嵌入式之间有什么联系?

何为物联网(IoT, internet of things)?从物联网学习的角度来说,物联网是在嵌入式的传统培训模式或者学习道路上,增加了一些互联互通,加了无线传输(ZigBee、BLE、Wi-Fi等),加了传感器,加...

长沙千锋
2018/05/30
0
0
中国物联网产业应用联盟即将发起成立,目标帮助5000家系统集成商应用落地

中国物联网产业应用联盟是一个将由一百多家物联网行业优秀的芯片企业、传感器企业、无线通讯企业、物联网智能终端企业、云平台企业、系统集成商和行业用户自愿参与发起的一个紧密合作的联盟组...

玄学酱
2018/04/19
0
0
物联网专业课程培训,物联网入门学什么?

物联网发展如火如荼,但很多朋友并不知道物联网具体应用在哪些领域,对哪些行业产生影响。那么物联网专业课程培训,物联网入门学什么? 在农业领域,物联网的应用非常广泛,如地表温度检测、...

长沙千锋
2018/06/01
0
0
真正的物联网还不存在 解决三大问题才有机会实现物联网生态系

物联网(IoT)什么时候才会真的到来?芬兰IoT新创Cyberlightning创办人兼执行官Ville Mickelsson今日发表大胆看法:假如没解决三大问题,真正的物联网很难实现。物联网(IoT)什么时候才会真...

玄学酱
2018/04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Leetcode PHP题解--D118 350. Intersection of Two Arrays II

D118 350. Intersection of Two Arrays II 题目链接 350. Intersection of Two Arrays II 题目分析 返回给定两个数组的交集。 思路 从数量较多的那个数组开始去另一个数组寻找是否元素存在,...

skys215
17分钟前
2
0
从源码上分析Android View保存数据状态

在Android开发旅途中,经常会遇到系统控件无法满足我们的视觉,交互效果,这个时候我们常常需要自己自定义控件来满足我们的需求。在这个开发探索过程中,我们不可避免得遇到View要保存状态信...

shzwork
18分钟前
2
0
请问AD603AQ和AD603AR有什么区别?

  AD603AQ和AD603AR只是在封装上的区别,前者是双列直插式,后者是贴片式,AD603A系列的温度都是在—40摄氏度到+85摄氏度之间,AD603还有一个系列是AD603S,它的温度是在—55摄氏度到+125摄...

仙溪
19分钟前
2
0
Linux /etc/profile 配置文件修改

1. 执行命令: vi /etc/profile 去类似windows 配置环境变量, 2.修改完,立即生效命令: source /etc/profile

kuchawyz
20分钟前
3
0
对于小白来说素描怎么入门?怎么学习?

素描初学者怎样入门?初学者怎样才能画好素描绘画?画好素描绘画有哪些技巧?想必这些问题都是绘画初学者们比较伤脑筋的问题,那么初学者到底怎样才能画好素描绘画呢?今天收集整理了关于素描...

huihuajiaocheng
21分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部