• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

mongodb默认数据库和集合、mongodb的基本命令

武飞扬头像
勇敢的_小小邱
帮助5

一、mongodb默认数据库和集合

mongodb默认的数据库有:admin,config,local。

1、admin(管理员的数据库)

管理员命令只能在此数据库执行。此数据库中的用户为超级用户,可对所有数据库进行操作,并能执行管理员命令。

(1)system.users集合:用户身份验证信息的集合

2、config(分片集群配置的数据库)

(1)changelog集合:分片集群变更记录信息的集合

每个文档包含以下字段:

  • _id:操作的唯一标识符。
  • clientAddr:触发操作的客户端地址。可能为""
  • details:操作详情。
  • ns:集合的命名空间。
  • server:操作发生的服务器地址。
  • time:时间。
  • what:操作。拆分为split,迁移为moveChunk.to。

(2)chunks集合:分片集群块信息的集合

每个文档包含以下字段:

  • _id:块的唯一标识符。
  • lastmod:块的版本。Timstamp类型,如:Timestamp(MAJOR, MINOR)。MAJOR会在块被迁移至新的分片时改变,MINOR会在块被拆分时改变。
  • lastmodEpoch:块的版本。ObjectId类型。
  • max:块范围的最大值(不含)。
  • min:块范围的最小值(含)。
  • ns:块所属集合的命名空间。
  • shard:块所属的分片。

(3)collections集合:分片集合信息的集合

每个文档包含以下字段:

  • _id:集合的命名空。不包括非分片集合。
  • distributionMode:
  • dropped:
  • lastmod:
  • lastmodEpoch:
  • key:片键。
  • unique:片键是否是唯一索引。只当为true才有此字段。
  • uuid:

(4)databases集合:数据库信息的集合

每个文档包含以下字段:

  • _id:数据库名。不管数据库有没有被分片。
  • lastMod:
  • partitioned:是否被分片。
  • primary:主分片。数据库的所有新集合默认创建在主分片上。
  • version:

(5)locks集合:分片集群锁信息的集合

每个文档包含以下字段:

  • _id:锁名称。balancer为均衡器。
  • state:状态。非活跃为0,等待锁为1,均衡中为2。
  • who:代表哪一个mongos。

(6)settings集合:设置信息的集合

每个文档包含以下字段:

  • _id:设置名称。均衡器为balancer。块大小为chunksize。
  • enabled:若_id为balancer,则为是否启动均衡器。
  • activeWindow:均衡器的时间窗口。
    • start:开始时间。
    • stop:结束时间。
  • value:若_id为chunksize,则为块大小,单位为MB。

(7)shards集合:分片信息的集合

每个文档包含以下字段:

  • _id:分片名称。也为副本集名称。
  • host:主机地址。格式为SHARD_NAME/HOST_PORT[,...]。
  • state:状态。
  • tags:分片标签数组。

(8)tags集合:分片标签信息的集合

每个文档包含以下字段:

  • _id:标签ID。
  • max:片键的最大值(不含)。
  • min:片键的最小值(含)。
  • ns:对应集合的命名空间。
  • tag:标签名。

3、local(本地的数据库)

此数据库不会被复制。此数据库中的用户为超级用户,可对所有数据库进行操作,并能执行管理员命令。

(1)me集合:服务器自身信息集合

(2)oplog.rs集合:oplog操作日志的集合,是一个固定集合

(3)slaves集合:以当前节点作为同步源的节点信息的集合,包括影同步的节点信息

(4)startup_log集合:启动日志的集合

(5)system.replset集合:副本集配置的集合

包含一个文档,其字段同rs.config的返回。副本集中所有节点的此文档都是相同的,不要自行修改此文档。

4、当前数据库

所有数据库都可以拥有以下集合:

(1)fs.chunks集合:GridFS文件块的集合

每个文档包含以下字段:

  • _id:块ID。
  • data:文件数据。
  • files_id:文件ID。
  • n:块在文件中的相对位置。

(2)fs.files集合:GridFS文件元信息的集合

每个文档包含以下字段:

  • _id:文件ID。
  • chunkSize:块字节大小。默认是256KB。
  • filename:文件名。
  • length:文件字节大小。
  • metadata
  • uploadDate:上传时间。

(3)system.profile集合:系统分析器记录信息的集合,是一个固定集合

每个文档包含以下字段:

  • client:客户端地址。
  • ns:集合的命名空间。
  • op:操作类型。

二、mongodb的基本命令

  1.  
    show dbs #查看数据库
  2.  
    show collections #显示当前数据库中的集合(类似关系数据库中的表)
  3.  
    show users #显示用户
  4.  
    use DB2(库名) #选择数据库或新建一个数据库
  5.  
    #空数据库不在show dbs中显示!!
  6.  
    db.getName() #获取当前数据库的名称
  7.  
    show tables #查看当前数据库的表
  8.  
    db.help() #显示数据库操作命令,里面有很多的命令
  9.  
    db.foo.help()
  10.  
    #显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合(表),并非真正意义上的命令
  11.  
    db.person.insert() #向person表插入数据
  12.  
    db.person.find() #查询数据表person的数据
  13.  
    例:db.person.find({"sex":"女"}) #查询person表中sex字段为女的数据
  14.  
    db.person.update() #更新数据表person的数据
  15.  
    db.person.remove() #删除数据表person的数据
  16.  
    例:db.person.remove({"name":/m/}) #删除数据表person中name字段包含a的数据
  17.  
    db.person.drop() #删除数据表person
  18.  
    db.dropDatabases() #删除数据库
  19.  
     
  20.  
     
  21.  
     
  22.  
    $gt 大于 >
  23.  
    $lt 小于 <
  24.  
    $gte 大于等于 >=
  25.  
    $lte 小于等于 <=
  26.  
    $ne 不等于 noe equals
  27.  
    $in 存在于
  28.  
    $nin 不存在于
  29.  
    $exists 是否存在
  30.  
     
  31.  
     
  32.  
    例:
  33.  
    db.collection.find({age:{$gt:18}}) #查看collection表中年龄大于不包含18岁的数据
  34.  
    db.collection.find({field:{$in:array}})
  35.  
    db.collection.find({field:{$nin:array}})
  36.  
    db.collection.find({title:{$exists:true}}) #如果记录中有包含title属性的全部返回
  37.  
    db.collection.find({title:{$exists:false}})
  38.  
    #如果记录中有包含title属性的全部不返回,不包含title属性的全部返回
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfbcbfe
系列文章
更多 icon
同类精品
更多 icon
继续加载