网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共48页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mongodb架构

角色、分片、复制、事务、索引 物理存储 名字空间与数据域的关系 对于每个数据库,都有一个名字空间文件“dbname.ns”。 在名字空间文件中,保存的是一个哈希表,存储了每个名字空间的元数据,包括其大小,域数,第一个域位置,最后一个域位置,被删除的域的链表、索引信息等,如下图: 逻辑存储 逻辑存储 对每一个域来说,其头部包含了一些元数据,比如自己的位置,上一个域和下一个域的位置, 逻辑存储 域中第一条和最后一条数据记录的位置,剩下的部分用于存储具体的数据。 MongoDB内部数据结构 * 数据类型 * mongod参数说明 名称 说明 dbpath 数据文件存放路径,每个数据库会在其中创建一个子目录,用于防止同一个实例多次运行的mongod.lock 也保存在此目录中 logpath 日志文件 logappend 日志采用追加模式(默认是覆写模式) bind_ip 对外服务的绑定ip,一般设置为空,及绑定在本机所有可用ip 上 port 对外服务端口。Web 管理端口在这个port 的基础上+1000 fork 以后台Daemon 形式运行服务 journal 开启日志功能,通过保存操作日志来降低单机故障的恢复时间 syncdelay 系统同步刷新磁盘的时间,单位为秒,默认是60 秒 directoryperdb 每个db 存放在单独的目录中,建议设置该参数 maxConns 最大连接数 repairpath 执行repair 时的临时目录。在如果没有开启journal,异常down 机后重启,必须执行repair操作 运行参数 * 数据库常用命令 1、Help查看命令提示 db.help(); 2、切换/创建数据库 use test当创建一个集合的时候会自动创建当前数据库 3、查询所有数据库 show dbs; 4、删除当前使用数据库 db.dropDatabase(); 5、从指定主机上克隆数据库 db.cloneDatabase(“127.0.0.1”); 7、修复当前数据库 db.repairDatabase(); 8、查看当前使用的数据库 db.getName(); 9、显示当前db状态 db.stats(); 10、当前db版本 db.version(); 11、查看当前db的链接机器地址 db.getMongo(); DB操作 * Collection集合 1、创建一个聚集集合(table) db.createCollection(“collName”); 2、得到指定名称的聚集集合(table) db.getCollection(account); 3、得到当前db的所有聚集集合 db.getCollectionNames(); 4、显示当前db所有聚集索引的状态 db.printCollectionStats(); 用户相关 1、添加一个用户 db.addUser(userName, pwd123, true); 添加用户、设置密码、是否只读 2、数据库认证、安全模式 db.auth(userName, 123123); 3、显示当前所有用户 show users; 4、删除用户 db.removeUser(userName); 表操作 * Query 1.WHERE # select * from users where name = user1 db.users.find({name:user1}) { _id : ObjectId(4c4528a0b55f2224d447e4b0), name : user1, age : 21, sex : 1} # select * from users where name = user1 and age = 21 db.users.find({name:user1, age:21}) { _id : ObjectId(4c4528a0b55f2224d447e4b0), name : user1, age : 21, sex : 1} 2.FIELDS # select name, age from users where age = 21 db.users.find({age:21}, {name:1, age:1}) { _id : ObjectId(4c452c343d48c8f284b388e0), name : user1, age : 21 } # select name, age from users db.users.find({}, {name:1, age:

您可能关注的文档

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档