MongoDB初学笔记(1)

栏目: 数据库 · 发布时间: 5年前

内容简介:学习目标MongoDB是一种介于关系数据库和非关系数据库中的一种数据库.它支持的数据结构非常松散,类似于JSON的BJSOn格式,所以可以存储比较复杂的数据类型。MongoDB特点

学习目标

  • 理解 MongoDb 的特点和体系结构
  • 掌握常用的MongoDB命令

MongoDB是一种介于关系数据库和非关系数据库中的一种数据库.它支持的数据结构非常松散,类似于JSON的BJSOn格式,所以可以存储比较复杂的数据类型。

MongoDB特点

  • 面向集合存储,易于存储对象类型的数据
  • 模式自由
  • 支持动态查询
  • 支持完全索引,包含内部对象
  • 支持复制和故障恢复
  • 使用高效的二进制数据存储,包含大型对象(如视频等)
  • 自动处理碎片,以支持云计算的扩展性
  • 支持java,python,php等
  • 文件存储格式为BSON(一种JSON的扩展)

MongoDB的体系结构

主要由文档(document)、集合(collection)、数据库(database)这三部分组成的

  1. MongoDB 的文档(document),相当于关系数据库中的一行记录。
  2. 多个文档组成一个集合(collection),相当于关系数据库的表。
  3. 多个集合(collection),逻辑上组织在一起,就是数据库(database)。
  4. 一个 MongoDB 实例支持多个数据库(database)

数据类型

基本数据类型

  • null:用于表示空值或者不存在的字段,{“x”:null}
  • 布尔型:布尔类型有两个值true和false,{“x”:true}
  • 数值:shell默认使用64为浮点型数值。{“x”:3.14}或{“x”:3}。对于整型值,可以使用
  • NumberInt(4字节符号整数)或NumberLong(8字节符号整数),{“x”:NumberInt(“3”)}{“x”:NumberLong(“3”)}
  • 字符串:UTF-8字符串都可以表示为字符串类型的数据,{“x”:“呵呵”}
  • 日期:日期被存储为自新纪元依赖经过的毫秒数,不存储时区,{“x”:new Date()}
  • 北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
  • 正则表达式:查询时,使用正则表达式作为限定条件,语法与JavaScript的正则表达式相同,{“x”:/[abc]/}
  • 数组:数据列表或数据集可以表示为数组,{“x”: [“a“,“b”,”c”]}
  • 内嵌文档:文档可以嵌套其他文档,被嵌套的文档作为值来处理,{“x”:{“y”:3 }}
  • 对象Id:对象id是一个12字节的字符串,是文档的唯一标识,{“x”: objectId() }
  • 二进制数据:二进制数据是一个任意字节的字符串。它不能直接在 shell 中使用。如果要将非utf-字符保存到数据库中,二进制数据是唯一的方式。
  • 代码:查询和文档中可以包括任何JavaScript代码,{“x”:function(){/…/}}

MongoDB安装,自行谷歌或百度

MongoDB常用命令

  • 选择和创建数据库的语法格式use 数据库名称
  • 插入文档db.集合名称.insert(数据);
  • 查询集合 db.集合名称.find();
  • 修改文档 db.集合名称.update(条件,修改后的数据),如果想修改单个字段,不改变其他字段使用$set来实现 

    db.spit.update({_id:"2"},{$set:{visits:NumberInt(2000)}})

  • 删除文档 db.集合名称.remove(条件);
  • db.集合名称.count();
  • 模糊查询 /模糊查询字符串  db.集合名称.find({content:/流量/});
  • 如果要查询吐槽内容中以“xx”开头 db.spit.find({content:/^xx/})
  • 大于 小于 不等于 $gt,$lt,$ne
  • 大于等于 小于等于 $gte $lte
  • 包含与不包含 $in db.spit.find({userid:{$in:["1013","1014"]}})
  • 条件连接 $and:[{},{},{}]
  • 列值增长 $inc db.spit.update({_id:"2"},{$inc:{visits:NumberInt(1)}} )

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Haskell趣学指南

Haskell趣学指南

[斯洛文尼亚] Miran Lipovaca / 李亚舟、宋方睿 / 人民邮电出版社 / 2014-1

《haskell趣学指南》是一本讲解haskell这门函数式编程语言的入门指南,语言通俗易懂,插图生动幽默,示例短小清晰,结构安排合理。书中从haskell的基础知识讲起,涵盖了所有的基本概念和语法,内容涉及基本语法、递归、类型和类型类、函子、applicative 函子、monad、zipper及所有haskell重要特性和强大功能。 《haskell趣学指南》适合对函数式编程及haske......一起来看看 《Haskell趣学指南》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具