博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mongoDB 文档概念
阅读量:6636 次
发布时间:2019-06-25

本文共 1968 字,大约阅读时间需要 6 分钟。

mongoDB 文档概念

什么是文档

  •   文档是 mongodb 基本的数据组织单元,类似于mysql 中的记录
  •   文档由多个键值对组成,每个键值对表达一个数据项
  •   属于 bson 数据

  ps:

     bson 数据: json 手下的败犬 bson.... 了解就好

文档中的键值对

特点

  • 无序
  • 通过键取其中的值
  • 键不能重复

即文档的域名(相当于mysql 中的字段名),表达数据的基本信息

规定

  1. 使用 utf8
  2. 不能含有 "\0"

ps:

  键可以不加引号,值必须加引号,默认就是 utf8类型

键的存储的值

数据类型

Type       Number       Alias            Notes         Double         1      “double”         String         2      “string”         Object         3      “object”         Array          4      “array”         Binary data    5      “binData”         Undefined      6      “undefined”        Deprecated.         ObjectId       7      “objectId”         Boolean        8      “bool”         Date           9      “date”         Null           10     “null”         Regular        11     “regex”         DBPointer      12     “dbPointer”        Deprecated.         JavaScript     13     “javascript”         Symbol         14     “symbol”         Deprecated.         JavaScript     15     “javascriptWithScope”         32-bit integer 16     “int”         Timestamp      17     “timestamp”         64-bit integer 18     “long”         Decimal128     19     “decimal”        New in version 3.4.         Min key        -1     “minKey”         Max key        127    “maxKey”

常用的

整形(int)         整数 浮点型(double)    小数 布尔(bool)        true/false 字符串(string)    "abcdsd" utf-8 格式 数组(array)       [1,2,3,40] 列表 时间(date)        日期/时间 binary Data        二进制格式类型 空值(Null)        null 空(关键字) 对象(object)      内部文档 ObjecId            ID 对象

注意点

关于 ObjecId 表示每个集合自己的一个不会重复的标识 ID

输入:> db.羊驼.find()输出: { "_id" : ObjectId("5c76361ab9330b7c152100ff"), "name" : "yangtuo", "age" : 17 }

字段解析:

  "_id": 表示自动生成的域名,表示主键域

  ObjectId: 由24为 16位进制码通过一定算法得到

关于自己自定义:

  必须要在键值中 用 "_id"  然后手动制定

  且,哪怕是自己自定义也不能重复,重复会报错

文档结构设计

1. 一个集合中的文档尽量表达相同的数据内容

2. 文档层次不宜嵌套过多

3. 在集合中文档使用比较自由,原则上结构可以各不相同

场景设计对比mysql

用户注册填写 qq,微信,微博,ins 要求至少写一个

mysql 的话就要4个字段,然后必然产生大量的空数据

mongoDB 的话就可以写那个就存那个

 

转载于:https://www.cnblogs.com/shijieli/p/10458362.html

你可能感兴趣的文章
settimeout 推荐的最小值
查看>>
MySQL 常用命令
查看>>
HttpClient4上传文件
查看>>
centos6.4和Ubuntu14.04搭建SNMP服务
查看>>
为微信小程序增加mixin扩展
查看>>
敏感信息识别方法探究
查看>>
创建一个可执行的python脚本
查看>>
听云APP 图表分析
查看>>
Oracle排名函数运用实例
查看>>
【推荐】[网址]PHP各种开源网站系统、cms系统一览[持续更新]
查看>>
整合 Apache 与 Tomcat
查看>>
螺旋矩阵打印java实现
查看>>
Angular 错误提示三
查看>>
easyui设置复选框 不可以选择 全选 也不能选择设置不可以选择的
查看>>
centos下java调用命令报 java.io.IOException: error=2, No such file or directory的错误
查看>>
Centos7 修改主机名
查看>>
javascript选择后弹出框消失
查看>>
JDK 1.7 HashMap原理及源码解析
查看>>
tomcat 下sever.xml 部署一个WEB 项目
查看>>
绘图UIGraphicsGetCurrentContext返回为空?
查看>>