MongoDB的逻辑结构及数据类型

MongoDB的逻辑结构

Mongodb

关系型数据库

文档(document)

行(row)

集合(collection)

表(table)

数据库(database)

数据库(database)

BSON与JSON

BSON是Binary JSON.是二进制的格式,能将mongDB的所有文档表示为字节字符串。

JSON是一种轻量级的数据交换格式。它基于JavaScript的一个子集.

help的相关命令

db.help()

db级别的帮助

db.version()

3.2.12

db.stats()

{

        "db" : "testdb",

        "collections" : 1,

        "objects" : 10000,

        "avgObjSize" : 48,

        "dataSize" : 480000,

        "storageSize" : 163840,

        "numExtents" : 0,

        "indexes" : 1,

        "indexSize" : 94208,

        "ok" : 1

}

集合级别的帮助

db.table1.help()

db.table1.getDB()

testdb

db.table1.dataSize()

480000

BSON的数据类型

不同数据类型的写入

use test

db.users.insert({"uuid":1})

db.users.insert({"uuid":2,"uname":"hxf","isvip":true,"sex":null,"favorite":["apple","banana",1,2,3],"regtime":new Date()})

查看某个字段的数据类型

db.users.find()

db.users.findOne()

db.users.findOne({"uuid":2})

typeof(db.users.findOne({"uuid":2}).uuid)

number

a= db.users.findOne({"uuid":2})

typeof(a.uuid)

number

typeof(a.isvip)

boolean

typeof(a.sex) 

object

typeof(a.favorite)

object

typeof(a.regtime)

object

null的真是含义

db.users.find({"sex":null})

{ "_id" : ObjectId("5c7b25b19f05e5e3c5e349a5"), "uuid" : 1 }

{ "_id" : ObjectId("5c7b21a59f05e5e3c5e349a4"), "uuid" : 2, "uname" : "hxf", "isvip" : true, "sex" : null, "favorite" : [ "apple", "banana", 1, 2, 3 ], "regtime" : ISODate("2019-03-03T00:36:53.125Z") }

代表值为null

代表字段不存在

查找字段存在且为null的值

db.users.find({"sex":null,"sex":{"$exists":true}})

数据类型汇总

1.Null,只有null值,代表空或者不存在

2.布尔,只有true和false

3.数字,64位浮点数(短整型、长整型、浮点数)

4.字符串:utf8字符串

5.数组:值或者列表可表示为数组

6.对象:对象的数据(null,数组,日期)

命名规则

文档的键命名几乎所有utf8字符,只有少数例外:

(1)$开头

(2)\0 (空字符)

(3)_下划线开头

允许“”字符串,没什么意义

集合的命名几乎所有utf8字符,只有少数例外:

(1)$开头

(2)\0 (空字符)

(3)system.开头

(4)""空字符串

数据库的命名几乎所有utf8字符,只有少数例外:

空字符串“”,\0,空格“ ”,.,\ ,/,

猜你喜欢

转载自blog.csdn.net/lql_h/article/details/88084696
今日推荐