玩转mongodb(二):mongodb基础知识
2016-05-29 21:39
537 查看
[b]常用基本数据类型:[/b]
null
null用于表示空值或者不存在的字段:
{"data":null}
布尔型
布尔类型只有两个值,true和false:
{"data":true}、{"data":false}
字符串
字符串类型的数据是由UTF-8字符组成:
{"data":"pingan"}
正则表达式
查询时,使用正则表达式作为限定条件,语法和javascript的正则表达式一样:
{"data":/pingan/i}
对象id
对象id是一个12字节(24字符)的ID,是文档的唯一标识。
{"data":ObjectId()}
数值
shell默认使用64位的浮点型数值,即Double类型。对于整型值,可以使用NumberInt类(4字节带符号整数)或NumberLong类(8字节带符号整数)。
{"data":3.33},表示Double类型
{"data":NumberInt("3")},表示Int类型
{"data":NumberLong("3")},表示Long类型
数组
数据列表或者数据集都可以表示为数组。数组的元素可以是数值、字符串等等其他基本数据类型,元素之间用英文逗号分隔开。
{"data":[1,2,3]}、{"data":["a","b","c"]}
日期
日期被存储为自新纪元以来经过的毫秒数,不存储时区:
{"data":new Date()}
内嵌文档
文档可以嵌套其他文档,被嵌套的文档作为父文档的值:
{"data":{"company":"pingan"}}
二进制数据
二进制数据是一个任意字节的字符串,要将非UTF-8字符保存到数据库中,二进制数据是唯一的方式。比如保存图片的数据。但是不能直接在shell中使用。
View Code
文档:
文档就是键值对的一个有序集,是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行,但更具表现力。
[b]集合:[/b]
集合就是一组文档,如果将MongoDB中的一个文档比喻为关系型数据库中的一行,那么一个集合就相当于一张表的概念。
[b]数据库:[/b]
在MongoDB中,多个文档组成集合,而多个集合可以组成数据库,一个MongoDB实例,可以承载多个数据库,每个数据库拥有0个或者多个集合。MongoDB3.0这个版本中,有三个数据库名是保留的。分别是:admin、local、config。
admin:从身份验证的角度来讲,这是“root”数据库。如果将一个新建的一个用户添加到admin数据库,这个用户就自动获得所有数据库的权限。
local:这个数据库永远都不可以复制,且一台服务器上的所有本地集合都可以存储在这数据库中。
config:MongoDB用于分片设置时,分片信息会存储在config数据库中。
[b]shell中的基本操作:[/b]
shell会用到4个基本的操作:创建、读取、更新和删除(即CRUD操作)。
创建:
更新:使用update修改人员信息。update接受(至少)两个参数,第一个是限定条件(用于匹配待更新的文档),第二个是新的文档。
删除:使用remove方法可将文档从数据库中永久删除。如果没有使用任何参数,它会将集合内的所有文档全部删除(甚用!!)。它可以接受一个作为限定条件的文档作为参数。
喜欢请微信扫描下面二维码,关注我公众号--“精修Java”,做一些实战项目中的问题和解决方案分享。
null
null用于表示空值或者不存在的字段:
{"data":null}
布尔型
布尔类型只有两个值,true和false:
{"data":true}、{"data":false}
字符串
字符串类型的数据是由UTF-8字符组成:
{"data":"pingan"}
正则表达式
查询时,使用正则表达式作为限定条件,语法和javascript的正则表达式一样:
{"data":/pingan/i}
对象id
对象id是一个12字节(24字符)的ID,是文档的唯一标识。
{"data":ObjectId()}
数值
shell默认使用64位的浮点型数值,即Double类型。对于整型值,可以使用NumberInt类(4字节带符号整数)或NumberLong类(8字节带符号整数)。
{"data":3.33},表示Double类型
{"data":NumberInt("3")},表示Int类型
{"data":NumberLong("3")},表示Long类型
数组
数据列表或者数据集都可以表示为数组。数组的元素可以是数值、字符串等等其他基本数据类型,元素之间用英文逗号分隔开。
{"data":[1,2,3]}、{"data":["a","b","c"]}
日期
日期被存储为自新纪元以来经过的毫秒数,不存储时区:
{"data":new Date()}
内嵌文档
文档可以嵌套其他文档,被嵌套的文档作为父文档的值:
{"data":{"company":"pingan"}}
二进制数据
二进制数据是一个任意字节的字符串,要将非UTF-8字符保存到数据库中,二进制数据是唯一的方式。比如保存图片的数据。但是不能直接在shell中使用。
//把图片存到mongodb中 public void SaveImgMG(byte[] byteImg) { Document doc = new Document(); doc["ID"] = 1; doc["Img"] = byteImg; mongoCollection.Save(doc); } //获取mongodb存储的图片字节数据 public byte[] GetImgMG() { Document doc= mongoCollection.FindOne(new Document { { "ID", 1 } }); return doc["Img"] as Binary; }
View Code
文档:
文档就是键值对的一个有序集,是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行,但更具表现力。
1 var mydoc = { 2 _id: ObjectId("5099803df3f4948bd2f98391"), 3 name: { first: "Alan", last: "Turing" }, 4 birth: new Date('Jun 23, 1912'), 5 death: new Date('Jun 07, 1954'), 6 contribs: [ "Turing machine", "Turing test", "Turingery" ], 7 views : NumberLong(1250000) 8 }
[b]集合:[/b]
集合就是一组文档,如果将MongoDB中的一个文档比喻为关系型数据库中的一行,那么一个集合就相当于一张表的概念。
[b]数据库:[/b]
在MongoDB中,多个文档组成集合,而多个集合可以组成数据库,一个MongoDB实例,可以承载多个数据库,每个数据库拥有0个或者多个集合。MongoDB3.0这个版本中,有三个数据库名是保留的。分别是:admin、local、config。
admin:从身份验证的角度来讲,这是“root”数据库。如果将一个新建的一个用户添加到admin数据库,这个用户就自动获得所有数据库的权限。
local:这个数据库永远都不可以复制,且一台服务器上的所有本地集合都可以存储在这数据库中。
config:MongoDB用于分片设置时,分片信息会存储在config数据库中。
[b]shell中的基本操作:[/b]
shell会用到4个基本的操作:创建、读取、更新和删除(即CRUD操作)。
创建:
1 db.person.insert({"name":"ryan","age":26}); 2 db.person.find({"name":"ryan"});
更新:使用update修改人员信息。update接受(至少)两个参数,第一个是限定条件(用于匹配待更新的文档),第二个是新的文档。
1 db.person.update({"name":"ryan"},{"name":"ryan","age":27}); 2 db.person.find({"name":"ryan"});
删除:使用remove方法可将文档从数据库中永久删除。如果没有使用任何参数,它会将集合内的所有文档全部删除(甚用!!)。它可以接受一个作为限定条件的文档作为参数。
1 db.person.remove({"name":"ryan"}); 2 db.person.find({"name":"ryan"});
喜欢请微信扫描下面二维码,关注我公众号--“精修Java”,做一些实战项目中的问题和解决方案分享。
相关文章推荐
- 【MongoDB】window环境下MongoDB64位安装
- mongodb的安装
- MongoDB的学习(二)-基本的操作
- mongodb集群快速搭建
- [MongoDB]增删改查
- MongoDB的学习(一)-MongoDB的基本概念
- 玩转mongodb(一):初识mongodb
- Mongodb 研究学习
- 夺命雷公狗mongodb之----mongodb---1---的下载,安装,连接
- mongoDb的基本使用
- windows下mongodb安装与使用
- MongoDB的介绍与部署
- MongoDB快速入门学习笔记4 MongoDB的文档查询操作
- [MongoDB]入门操作
- flask + MongoDB 学习笔记(3):Register & Hashpassword & Login & Logout
- flask + MongoDB 学习笔记 (-1): 个人用记录
- flask + MongoDB 学习笔记: Exceptions, Errors and Solutions
- mongodb
- MongoDB的学习(零)-简介与安装
- mongodb: 关于Mongoose的geoNear方法的使用