MongoDB入门教程三[数据类型]
在Mongo shell中,默认使用64位浮点型数据。因此,会有以下两种数值形式:
{"x" : 2.32}
//或
{"x" : 2}
对于整数类型,可以使用NumberInt()(位有符号整型)或NumberLong()(8位有符号整型)方法进行转换。示例如下:
{"x" : NumberInt(2)}
{"x" : NumberLong(2)}
其生成规则为:
相关函数:ObjectId()、getTimestamp()、valueOf()
- MongoDB中,日期类型是一个64位的整数,它代表的是距Unix epoch的毫秒数
- MongoDB在存储时间时,先转化为UTC时间
北京时间(CST) = UTC + 8个小时
- MongoDB Shell中可以使用new Date或ISODate来创建时间对象,在进行显示时,Shell会根据本地时间去设置显示日期对象
例如:{name:/foo/ } name字段含有foo的文档
{name:/foo/i } name字段含有foo的文档,且不区分大小写
{name:/^foo/i } name字段以foo开头,且不区分大小写
{"x" : function(){ /*这里是一段JavaScript代码*/}}
{"x" : ["cloudev.top", "QuickCodes.Net"]}
- 数组是使用方括号来表示的一组值,它既可以作为有序对象(列表、栈、队列),也能作为无序对象(如集合)来操作
- 数组中可以包含不同数据类型的元素(字符串、浮点数、文档等) 例如:[ 3.14,"hello",[1,2,3] ,{"key":"MongoDB"} ]
- 针对数组MongoDB提供了许多特定的操作符,例如:$push,$pop,$pull,$slice,$addToSet等
- MongoDB 可自动的为数组元素建立Multikey 索引
{
"_id": ObjectId("57110709d1db0802a433a03c"),
title:"Hello QuickCodes",
author:"Mac.Manon",
comments:[
{nickname:"Peter",comment:"Ok"},
{nickname:"Tom",comment:"Dig"} ]
}
文档可以做为键的值,即:内嵌文档。MongoDB与关系型数据库相比,最大的优势就是内嵌文档。与关系型数据库的扁平化数据结构相比,使用内嵌文档可以数据的组织方式更加自然。
18.时间戳 Timestamp [类型编号:17]
时间戳类型有两部分组成:32 bit-Unix epoch 和 32 bit-自增序数(同一秒)
Timestmp 只供MongoDB 数据库服务内部使用,用于记录操作的详细时间;
Timestamp 类型和Date类型是没有关系的,对于我们来说使用更多的Date类型;
相关函数:Timestamp()
db.user.find({name:{$type:2}})
MongoDB入门教程三[数据类型]的更多相关文章
- MongoDB入门教程一[文档与集合]
MongoDB 是面向集合存储的文档型数据库,其涉及到的基本概念与关系型数据库相比有所不同.举个例子,在关系型数据库中,我们记录一个订单的信息,通常是这样设计表结构的: 设计一个订单基本信息表和一个订 ...
- MongoDB入门教程二[MongoDB Shell 简介与使用]
MongoDB Shell 是MongoDB自带的JavaScript Shell,随MongoDB一同发布,它是MonoDB客户端工具,可以在Shell中使用命令与MongoDB实例交互,对数据库的 ...
- mongodb入门教程
title: mongodb入门教程 date: 2016-04-06 14:47:18 tags: --- 为什么要认识呢,因为这玩意就一傻逼 借用一下百科的介绍 MongoDB 是一个介于关系数据 ...
- Elasticsearch入门教程(三):Elasticsearch索引&映射
原文:Elasticsearch入门教程(三):Elasticsearch索引&映射 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文 ...
- 无废话ExtJs 入门教程三[窗体:Window组件]
无废话ExtJs 入门教程三[窗体:Window组件] extjs技术交流,欢迎加群(201926085) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3 ...
- mongodb入门教程二
title: mongodb入门教程二 date: 2016-04-07 10:33:02 tags: --- 上一篇文章说了mongodb最基本的东西,这边博文就在深入一点,说一下mongo的一些高 ...
- MongoDb 入门教程
MongoDb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 它是可扩展的高性能数据存储解决方案,经常被用于非关系型数据的存储,能存储海量的数据. 常 ...
- PySide——Python图形化界面入门教程(三)
PySide——Python图形化界面入门教程(三) ——使用内建新号和槽 ——Using Built-In Signals and Slots 上一个教程中,我们学习了如何创建和建立交互widget ...
- RabbitMQ入门教程(三):Hello World
原文:RabbitMQ入门教程(三):Hello World 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog. ...
随机推荐
- POJ No 3259 Wormholes Bellman-Ford 判断是否存在负图
题目:http://poj.org/problem?id=3259 题意:主要就是构造图, 然后判断,是否存在负图,可以回到原点 /* 2 3 3 1 //N, M, W 1 2 2 1 3 4 2 ...
- React - 环境准备
1. 下载 node.js,在 https://nodejs.org/en/download/ 选择合适的版本. 2. 检查 node.js 是否安装成功. hueyMB:~ zhisenzheng$ ...
- 【AtCoder】AGC022 F - Leftmost Ball 计数DP
[题目]F - Leftmost Ball [题意]给定n种颜色的球各k个,每次以任意顺序排列所有球并将每种颜色最左端的球染成颜色0,求有多少种不同的颜色排列.n,k<=2000. [算法]计数 ...
- 13、Math类简介
Math类概述 在java.lang包下,有个Math类,这个类包含用于执行基本数学运算的方法,如四舍五入,开方等等. package com.sutaoyu.usually_class; publi ...
- c# List 所有操作方法例子
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Ref ...
- C 语言问题
1. 如何生成 "半全局变量", 就是那种只能被部分源文件中的部分函数访问变量? 答: 这在C语言中办不到. 如果不能或不方便在一个源文件中放下所有的函数, 那么有三种的解决方案 ...
- mysql安装管理 -> 编译&yum_02
首先 mysql5.7是目前的主流稳定版本,下载地址可以参考官网下载 --- > 官网下载点我 笔记为markdown模式,博客园不太兼容,详细内容参考 --- 有道云笔记点我 mysq ...
- liblinear和libsvm区别
来源于知乎: 1. LibLinear是线性核,LibSVM可以扩展到非线性核(当也能用线性核,但同样在线性核条件下会比LibLinear慢很多).2. 多分类:LibLinear是one vs al ...
- 虚拟机 SUSE Linux Enterprise Server 12 SP2 64
下载地址:https://www.suse.com/zh-cn/products/server/download/ 下载以后使用虚拟机安装即可
- linux下快速安装emacs方法
背景 在公司工作的时候经常需要在很多服务器之间切换,而公司的服务器上一般都没emacs,因此总结一下快速安装emacs的方法. 最简单的是直接使用yum安装,但是有两个问题,一个是有的生产服务器直接没 ...