Mongobd 基础知识

文档

  • 文档是键值对的一个有序集合
  • 文档的键是字符串
    – 键不能含有 \0(空字节);用于表示键的结尾
    .$ 具有特殊意义,在特点环境下使用 ,默认被保留
  • 区分大小写,区分类型
    – {“test”:6,”test”:”6”,”Test”:6} 是不同的
  • 文档中的键/值对是有序的
    – {‘x’:1,’y’:2}与{‘y’:2,’x’:1}是不同的

集合

  • 集合是一组文档,(视作一张表)
  • 集合是动态模式(集合里的文档格式不统一)
  • 尽管集合对文档美要求,但是还是需要把 相关文档组织在一起,(便用使用,管理)
  • 不能以空字符 和包含\0 z字符命名
  • “system”位保留字段
  • “$” 应避免使用,系统默认生成集合中会有使用(便于区分)
  • 子集合,习惯使用 “.“不同命名空间分割 ,(a.user和a.msg)

数据库

  • 多个集合组成数据库。MongoDB实例可以承载多喝数据库
  • 使用ASCII中的字母和数字命名 ,使用小写,最多64字节
  • 保留数据库名 admin , local , config

shell

MongDB 自带JavaScript shell
先运行MongDB,命令 ‘mongo’ 启动shell

shell 文档基本操作 增删改查

操作方法实例备注
增加insertdb.c.insert({‘user’:’zhe’,’age’:17,’dec’:’I am a boy’})
批量插入insertManydb.c.insert([])3.2+
读取find/findOnedb.c.find()/db.c.findOne
更新updatedb.c.update(a,b)
更新upsertdb.c.update(a,b,true)update的第三个参数为 true 就是 upsert
多个文档更新updatedb.c.update(a,b,true,true)update的第四个参数为 true 更新 所有匹配的文档
删除文档removedb.c.remove(a)
清空集合dropdb.c.drop()不指定条件
保存savedb.c.save(a)a文档存在则更新,不存在则创建

_id 和ObjectId

文档必须有一个 “_id“ 键,键值可以是任何类型,默认位 ObjectId。

ObjectId 使用12字节的存储空间,由24个十六机制的数字表示
ObjectId的生成方式

字节位置代表意义解释补充
1-4时间戳标准纪元开始时间,单位秒
5-7机器主机名的hash
8-9PID进程表识符
10-12计数器自动增加计数器,确保相同进程同一秒产生的OjectId不同
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值