时间  类型

获取当前时间

new Date()    自动生成当前时间(国际标准时间)

db.class.insertOne({book:"数学",date:new Date()})

Date()   获取当前操作系统的时间(当地时间)

时间函数

ISODate(date)

功能  将指定时间转换为mongoDB 存储时间

参数  默认当前的 ISO 时间

      通过字符串指定时间

"2019-1-1 11:11:11"
"20190101 11:11:11"
"20190101"

获取时间戳

valueOf()

功能  根据标准时间生成时间戳

> db.class.insert({book:"yes",date:ISODate("20190101 11:11:11").valueOf()})
添加数据: { "book" : "yes", "date" : 1546341071000 }

Null  类型

表示空值

  null

含义  

  表示某个域的值为空

  在表达式语句中表示不存在

> db.class.insert({book:"yes",price:null})
WriteResult({ "nInserted" : 1 })
添加数据{ "book" : "yes", "price" : null } > db.class.find({price:null}) 把所有不存在 price 的以及存在 price:null 的查询出来了
输出:
{ "_id" : ObjectId("5c78d0ac24dd494da47a3276"), "book" : "yes", "date" : 1546341071000 }
{ "_id" : ObjectId("5c78d1f924dd494da47a3277"), "book" : "yes", "price" : null }

ps:

对比一下 $exists

  $exists 只会查出不存在的

  field:null 还会把 存在field的值为空的也查询出来

Object  对象

定义: 文档中每个域的值为文档, 该文档称为 object 数据, 即对象类型

创建

> db.class.insertOne({author:"yt",book:{title:"羊驼日记",publish:"羊驼出版社",price:999}})
{
"acknowledged" : true,
"insertedId" : ObjectId("5c78d4d824dd494da47a3278")
}

查询

用 "外部域.内部域" 的格式, 而且必须加 引号 标记为字符串, 否则无法识别

> db.class.find({"book.title":"羊驼之歌"},{_id:0})
{ "author" : "yang", "book" : { "title" : "羊驼之歌", "publish" : "羊驼出版社", "price" : 998 } }
>

修改

就没啥大区别了同其他.无非就是 字段的部分变一下罢了

> db.class.updateOne({"book.title":"羊驼之歌"},{$set:{price:555}})
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
修改前: { "author" : "yang", "book" : { "title" : "羊驼之歌", "publish" : "羊驼出版社", "price" : 998 } }
修改后: { "author" : "yang", "book" : { "title" : "羊驼之歌", "publish" : "羊驼出版社", "price" : 555 } }

ps:

  由此延伸到数组, 数组下标也可以直接引用方法

"数组域.下标" 可以获取某一项值, 筛选还是修改或者删除都可以依旧就是更换域名而已

> db.class.find({"score.0":{$gt:10}})
{ "_id" : ObjectId("5c78974324dd494da47a3275"), "name" : "mm", "age" : 12, "score" : [ 12, 16, 17, 18, 26, 89, 90 ] } > db.class.updateOne({name:"mm"},{$set:{"score.0":88}})
{ "_id" : ObjectId("5c78974324dd494da47a3275"), "name" : "mm", "age" : 12, "score" : [ 88, 16, 17, 18, 26, 89, 90 ] }

mongoDB 其他数据类型的更多相关文章

  1. mongoDB之数据类型

    mongoDB之数据类型 Object  ID :文档的id String: 字符串,最常用,必须是utf-8 Boolean:布尔值,true 或者false Integer:整数 Double:浮 ...

  2. MongoDB 之 数据类型 最无聊! But 最有用! MongoDB - 3

    MongoDB的新篇章开始啦 - 数据类型 https://www.cnblogs.com/xuzhaocai/p/8048177.html 一.MongoDB 之 丰富多彩的数据类型世界 首先我们要 ...

  3. 3,MongoDB之数据类型

    一.MongoDB 之数据类型 首先我们要先了解一下MongoDB中有什么样的数据类型: Object  ID :Documents 自生成的 _id String: 字符串,必须是utf-8 Boo ...

  4. MongoDB - 认识MongoDB及数据类型

    目录 MongoDB - 认识MongoDB及数据类型 启动 MogoDB的数据 MogoDB的数据类型 1.Object ID : Documents自生成的_id 2.string : 字符串,必 ...

  5. Mongodb基本数据类型、常用命令之增加、更新、删除

    1.null---表示空值或者该字段不存在,如{"name":null} 2.布尔 --- 和java中的布尔一样,有两种:true,false,如{"sex" ...

  6. mongodb基本数据类型

    本文导读:Mongodb是一种强大,灵活,可扩展的数据存储方式.它扩展了关系型数据库众多有用的功能,如索引,范围查询和排序. MongoDB的文件存储格式为BSON,同JSON一样支持往其它文档对象和 ...

  7. mongodb中数据类型的坑

    在mongodb中,我们给每个文档插入数据的时候,mongodb自动会为我们插入的数据创建数据类型.由于mongodb是一个非结构化的数据存储系统,因此在文档中你可以随意插入不同类型的字段,这和MyS ...

  8. MongoDB的数据类型(四)

    JSON JSON是一种简单的数据表示方式,它易于理解.易于解析.易于记忆.但从另一方面来说,因为只有null.布尔.数字.字符串.数组和对象这几种数据类型,所以JSON有一定局限性.例如,JSON没 ...

  9. MongoDB的数据类型

    最近在写一个lua的MongoDB模块.MongoDB版本3.2,lua则是5.3.1.底层以C++来写,再把函数暴露给lua调用.但是在lua中打印结果时,发现了些奇怪的现象.首先,数据库中的内容: ...

随机推荐

  1. 原生Js交互之DSBridge

    文章链接:https://mp.weixin.qq.com/s/Iqd0dKM-ZW4UwkIgSTnvYg 在上一篇文章「android 记一次富文本加载之路」中 介绍了关于android加载富文本 ...

  2. WPF:在DataTemplate中使用DataType

    DataTemplate中的DataType的功能实际上和Style中的TargetType很类似. 在Style中,使用了TargetType之后,如果不定义Style的Key,那么这个Style将 ...

  3. Android 使用Glide加载网络图片等比例缩放

    在做android图片加载的时候,由于手机屏幕受限,很多大图加载过来的时候,我们要求等比例缩放,比如按照固定的宽度,等比例缩放高度,使得图片的尺寸比例得到相应的缩放,但图片没有变形.显然按照andro ...

  4. 章节十、1-用ID和XPath、name定位元素

    一.在定位元素时需要HTML标签,HTML是超文本标记语言,我们打开web网页是看到的内容就是通过html语言来实现的,按键盘“F12”调用开发者选项后,“Elements”栏中显示的就是网页的HTM ...

  5. PM过程管理成熟度1级

    之前,我已经从项目实现的角度.企业管理诉求两方面,分析了PM的核心能力架构,以及其在过程管理方面的能力等级.接下来,Fancier凡奉信息会站在PM能力成长的角度,横向与纵向阐述每一成熟度等级PM的过 ...

  6. selenium-弹窗操作(八)

    本次以笔者公告栏的 打赏 弹窗为例 对弹窗中的一些操作进行封装后,在测试中使用 作用:减少对弹窗反复操作时进行定位的麻烦,以后使用中都直接调用即可达到目的 # coding=utf-8 from se ...

  7. Windows 下端口被占用

    0. 参考 参考链接:  Windows下如何查看某个端口被谁占用 1. 遇到的问题 在 Windows 下的 IDEA 中启动 Web 服务显示 8080 端口被占用,程序无法正确启动. 2. 解决 ...

  8. LeetCode算法题-Longest Uncommon Subsequence I(Java实现)

    这是悦乐书的第252次更新,第265篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第119题(顺位题号是521).给定一组两个字符串,您需要找到这组两个字符串中最长的不同 ...

  9. IO多路复用三种方式select/poll/epoll

    select多并发socket例子: #_*_coding:utf-8_*_ __author__ = 'Alex Li' import select import socket import sys ...

  10. Python爬虫【实战篇】百度贴吧爬取页面存到本地

    先上代码 import requests class TiebaSpider: def __init__(self, tieba_name): self.tieba_name = tieba_name ...