zoukankan      html  css  js  c++  java
  • 深入了解MongoDB

    一、介绍:

    数据库分为关系型数据库和非关系型数据库

    关系型数据库是建立在关系模型上的数据库,主要的有Oracle MySQL Microsoft SQL Server

    NoSQL是非关系型数据存储的广义定义 有:MongoDB

    MongoDB:中每个数据包包含一个或者多个集合,集合是以BSON数据结构组织起来的文档对象集合,这个数据库可以处理大量数据,也可以欲行在便宜的PC服务器集群上,里面的数据结构非常简单,存储不需要固定的表结构,易于存储对象类型的数据,因此不需要进行表与表之间的关联查询。

    使用场合:网站数据 用于对像及JSON数据的存储

    二、安装:

     http://www.cnblogs.com/GainLoss/p/6906937.html

    三、mongoDB数据类型:

    mongoDB的文档使用BSON来组织数据,BSON类似于JSON, JSON只是一种简单的表示数据的方式,只包含了6中数据类型

    1.null: 用于表示空值或不存在的字段

    2.布尔类型: true false

    3.32为整数: mongodb的控制台使用js引擎进行输入,而js仅支持64位浮点数,所以32位整数会被自动转义

    4.64位整数: 和32位整数一样

    5.64位浮点数: 数字的默认类型

    6.字符串

    7.符号:不支持这种类型,会被自动转义

    8.ObecjtId类型:对象id是文档中唯一的12位的ID

    9.日期:日期类型存储是从标准纪年的毫秒数,不存储时区 使用的时候加上new {'one':new Date()}

    10.正则表达式 文档键值可以包含表达式{‘one’:/ho/i}

    11.代码

    12.数据:可以表示位数据,在数组中还可以嵌套数组

    13.内嵌文档; {'x':{'name':"time","age":"12"}}

    14._id和ObjectId对象:mongodb文档默认必须有一个_id 这个键的值可以是任何类型 也可以自定义 默认位ObjectId对象

    四、文档查询

    1.基本操作

    查找:

    db.person.find()查看集合person中的数据

    2.返回指定的键:

    指定返回name的值:db.person.find({},{"name":1})

    3.条件查询:

    大于$gt 小于$lt 大于等于$gte 小于等于$lte 如果有多个条件:db.person.find({"field":{"$gt":value,"$lt":value}})

    4.$all匹配所有 必须满足[]内所有的值

    db.person.find({"name":{"$all":["value","hourse"]}})

    5.$exists判断字段是否存在

    db.person.find({"field":{$exists:true}}) field代表需要判断的字段的名称

    6.$count查询记录的总条数

    db.person.find().count() 总的数量

    7.limit返回记录数

    db.person.find().limit(N) 这个就用于限制一页显示多少个数据

    8.skip限制返回记录的起点

    db.person.find().skip(n) 就是分页的时候从第几条开始

    9.sort排序

    1表示升序 -1表示降序 db.person.find().sort("age":1)

    添加:

    db.person.insert({"name":"123"}) 在集合person中添加一条name=123的记录

    删除:

    db.person.remove({'name':'123'}) 删除name是123的记录

    修改:

    db.person.update({"_id":"1","name":"234"}) 修改_id=1的这条记录的name改成234

    db.person.save({"name":123}) 文档不存在就进行插入 存在进行更新

  • 相关阅读:
    凸透镜和凹透镜为什么分别对光有会聚作用和发散作用
    平面镜成像
    行政 申论 大纲
    专业科 大纲
    linux command --- terminal common commands
    3D VR卡镜的使用方法
    Structure From Motion(二维运动图像中的三维重建)
    双目摄像机
    对比手机SLAM和机器人SLAM
    3D indoor map positioning with a smartphone image
  • 原文地址:https://www.cnblogs.com/GainLoss/p/7416561.html
Copyright © 2011-2022 走看看