![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MongoDB
siyuan_zhu
这个作者很懒,什么都没留下…
展开
-
MongoDB 简介
1.关于NOSQL NoSQL,(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,指的是非关系型的数据库。 2.关于WEB2.0 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题 1)High performance - 对数据库高并发读写...原创 2014-02-15 10:03:03 · 74 阅读 · 0 评论 -
MongoDB 分片
1.简介 分片(分区),是指将数据拆分,将其分散存在不同的机器上的过程。 将数据分散到不同的机器上,不需要功能强大的大型计算机就可以存储更多地数据,处理更大的负载。 2.MongoDB的自动分片 MongoDB分片的基本思想是将集合切分成小块。这些块分散到若干片里面,每个片只负责总数据的一部分。 应用程序不必知道拿片对应哪些数据,甚至不需要知道数据已经被拆分,应用通过连接一个路由进程...原创 2014-03-20 17:22:16 · 59 阅读 · 0 评论 -
MongoDB 复制
1.主从复制 主从复制是MongoDB最常用的复制方式。这种复制方式非常灵活,可用于备份、故障恢复、读扩展等。 通过启动时的选项进行设置,每个从节点要知道主节点的地址,所有从节点都从主节点复制内容,目前还没有能够从从节点复制的机制,原因是从节点并不保存自己的oplog。 相关的启动选项 --master 设置当前服务为主节点 --slave 设置当前服务为从节点 --sour...原创 2014-03-19 22:32:25 · 69 阅读 · 0 评论 -
MongoDB 运维
1.启动 查看启动选项 mongod --help 几个重要的选项 dbpath:数据目录,启动时mongod实例会在该目录下创建mongod.lock文件,防止其它mongod实例使用该数据目录 port:服务器监听的端口号,默认为27017 fork:以守护进程的方式运行 logpath:日志文件 logappend:mongod启动时默认将清除原来的日志记录,此选项可以保...原创 2014-03-19 08:25:56 · 73 阅读 · 0 评论 -
MongoDB 数据库引用
1.简介 数据库引用DBRef,是一个内嵌文档,它就像一个URL,唯一确定一个到文档的引用。 2.语法 { "$ref": ..., "$id": ..., "$db": ...} $ref: 集合名称 $id: 文档的_id $db: 数据库名称 注:DBRef中的键的顺序不能改变。 3.使用 //插入 db.user.insert({"_id": "001", "nam.原创 2014-03-19 08:25:33 · 147 阅读 · 0 评论 -
MongoDB 服务器端脚本
1.简介 MongoDB可以通过db.eval函数来执行JS脚本,也可以把JS脚本保存在数据库中,然后在别的数据库命令中调用。 2.使用db.eval //方式一 db.eval('var age = db.user.findOne({"id": 0}).age; db.user.update({"id": 0}, {"$set": {"age": age + 10}});'); /...原创 2014-03-18 14:20:26 · 254 阅读 · 0 评论 -
MongoDB GridFS
1.简介 GridFS是一种MongoDB中存储大二进制文件的机制。 2.优点 1)基于MongoDB,不需要独立的文件存储架构 2)可以使用MongoDB的复制和分片机制,故障恢复和扩展都很容易 3)由于MongoDB分配数据文件时以2GB为一块,不会产生磁盘碎片 3.使用 查看帮助文档 mongofiles --help 上传文件 mongofiles put -d mi...原创 2014-03-18 12:09:00 · 90 阅读 · 0 评论 -
MongoDB 固定集合
1.定义 固定集合大小固定,必须事先创建,并且指定大小。 固定集合很像环形队列,如果空间不足,最早的文档就会被删除,为新的文档腾出空间,即自动淘汰最早的文档。 2.与普通集合的区别 1)不能删除文档 2)更新不能导致文档移动,即更新不能使得被更新的文档的存储空间变大 3)在默认情况下固定集合没有索引 3.特点 1)插入速度极快 2)按照插入顺序输出的查询速度极快 4.应用 ...原创 2014-03-18 09:25:46 · 142 阅读 · 0 评论 -
MongoDB 数据库命令Command
1.语法 db.runCommand(...); 注:访问有些命令需要有管理员权限,必须在admin数据库里执行。 2.查看所有的命令 方法一: db.listCommands(); 方法二: http://localhost:28017/_commands (启动mongo时必须添加--rest选项) 3.工作原理 MongoDB中的命令其实是作为一种特殊类型的查询来实现的...原创 2014-03-18 08:38:55 · 1945 阅读 · 0 评论 -
MongoDB 聚合
1.count db.user.find().count(); db.user.count(); db.user.count({"name": "路人甲0"}); 2.distinct //语法 db.collection.distinct( key ) //e.g. db.user.distinct("name"); 3.group //语法 db.collection...原创 2014-03-17 21:44:54 · 130 阅读 · 0 评论 -
MongoDB 索引
初始化数据 var names = [""]; for (var i = 0; i < 100; i++) { var user = { "id": i, "name": "路人甲" + i%10, "age": i%50, "bestFriend": { "name": "路人甲" + (i原创 2014-03-14 18:02:57 · 63 阅读 · 0 评论 -
MongoDB 查询
1. find简介 db.collection.find([query],[fields]) query:查询文档 fields:指定返回的键 micromsg.user集合 { "_id" : ObjectId("530c90500fd432925cb60204"), "id" : 100, "nickname" : "路人甲01", "lover" : { "i原创 2014-02-26 23:56:33 · 68 阅读 · 0 评论 -
MongoDB CURD
1.shell基本操作 shell是一个功能完备的JavaScript解释器,可以运行任何JavaScript程序。 通过mongo.exe运行MongoDB shell后,shell会连到MongoDB服务器的test服务器,并将这个数据库连接赋值给全局变量db。 切换数据库 use DB_NAME 查看帮助文档 help 2.数据库的创建和删除 通过切换数据库的命令来创建...原创 2014-02-18 23:40:47 · 78 阅读 · 0 评论 -
MongoDB windows安装
1.从官网下载最新的安装包,将安装包解压到某一文件夹,记为%MongoDB_HOME% 2.创建一文件夹用于存储MongoDB数据,记为%MongoDB_DATA_PATH%,创建一文件用于存储MongoDB log,记为%MongoDB_LOG_PATH% 2.执行下列命令作为windows服务安装 %MongoDB_HOME%\bin\mongod --dbpath %MongoDB...原创 2014-02-16 11:27:50 · 119 阅读 · 0 评论 -
MongoDB的基本概念
1.文档 相当于RDBMS中的行,是MongoDB的核心概念,多个键及其关联的值有序地放置在一起便是文档。采用BSON(Binary JSON)的表达方式。 例如:{ "greeting": "Hello, MongoDB"} 特点有: --文档中的键/值对是有序的 --文档在保留JSON基本的键/值对特性的基础上,添加了一些其他的数据类型。 --不同于RDBMS,文档的键区分大小...原创 2014-02-16 11:19:32 · 111 阅读 · 0 评论 -
MongoDB JAVA
http://docs.mongodb.org/ecosystem/drivers/java/原创 2014-03-20 23:35:18 · 57 阅读 · 0 评论