mongo模块
mongo -- 客户端,连接到mongo数据库
mongod -- 服务端,启动mongo服务,默认占领27017端口
mongodump -- 数据库备份
mongorestore -- 数据库恢复
bsondump -- 数据导出成bson结构
mongoexport -- 数据库导出成json文档或csv文档
mongos -- 路由器,用于数据库集群、分片

mongo启动
mongod --dbpath xx --logpath xx --fork --port 27017
dbpath -- 数据存储路径
logpath -- 日志存储路径
fork -- 后台运行
port -- 端口号 默认27017
smailfiles 可以最小的启动mongod服务(占领400M左右磁盘空间)

mongo db数据库
show dbs -- 查看当前数据库
use [dbName] -- 显示创建或使用该数据库
db.dropDatabase(); -- 删除当前数据库

mongo collections表
show collections -- 查看当前所有collection
db.createCollection([collectionName]); -- 显示创建collection
db.[collectionName].insert(); -- 隐式创建collection
db.[collectionName].drop(); -- 删除collection

mongo 增删改查
{db: 'test', collection: 'stu'}
use test;
-- db.stu.insert(document)
db.stu.insert({_id: '1', sid: '001', name: 'xiaoming'}) // 添加单行数据
db.stu.insert([{},{},{}]) // 添加多行数据
-- db.stu.remove(query, options)
db.stu.remove() // 删除collection所有数据
db.stu.remove({name: 'xiaoming'}) // 删除全部指定数据
db.stu.remove({name: 'xiaoming'}, true) // 删除一条指定数据
-- db.stu.update(query, update, options<upsert, multi>)
db.stu.update({sid: '001'}, {name: 'xiaohong'}) // 替换数据
db.stu.update({sid: '001'}, {$set:{name: 'xiaohong'}}) // 更新1条数据
db.sud.update({name: 'xiaoming'}, {$set:{name: 'xiaohong'}, {multi: true}}}) //更新多条数据
<$set $unset $rename $inc $setOnInsert> <upsert-没有匹配直接插入 multi多行>
-- db.stu.find(query, content)
db.stu.find() // 查询所有数据
db.stu.find({sid: '001'}) // 查询指定数据
db.stu.find({sid: '001'}, {_id: 0, name: 1}) // 查询指定数据显示特定属性
-- 更多查询条件
<$ne $lt(e) $gt(e) $in $nin>
<$all $exist $mod $type> 
<$where $regex>
db.stu.find({_id: '1', name: {$ne: 'xiaoming'}}) // and查询
db.stu.find({$or: [{_id:'1'}, {id: {$lt:2}}]}) // or查询
db.stu.find({_id: '1', $or: [{name: 'x'}, {name: 'xx'}]}) // and+or查询
db.stu.find({$nor: [{}, {}]}) // nor查询
db.stu.find({$where: "this.name=='xiaoming'"})
db.stu.find({name: {$regex: '.*'}})
<.skip() .limit()>

mongo cursor游标
var cursor = db.[collectionName].find(query);
cursor -> <next()、hasNext()>
cursor.forEach(function(obj) {printjson(obj)})

mongo index索引 <btree二叉树 hash哈希-两种索引方案>
创建索引-- db.[collectionName].ensureIndex(index, options)
ensureIndex({name: [1/-1/'hash']}) // 单列索引
ensureIndex({name: 1, age: 1}) // 多列索引
ensureIndex({'grade.math': 1}) // 子索引
ensureIndex({name: 1}, {unique: true, sparse: true}) // 唯一索引、稀疏索引(包含索引字段的数据才建立索引)
删除索引-- db.[collectionName].dropIndex(index) | dropIndexes()
修复索引-- db.[collectionName].reIndex()
显示索引-- db.[collectionName].getIndexes()

mongo auth用户管理
后台启动服务时添加 --auth 启动权限验证
添加超级用户 use admin -> db.addUser('user', 'pwd', 'true/false-可读/可写')
登录时认证 db.auth('user', 'pwd')
修改密码 db.changeUserPassword('user', 'newpwd')
删除用户 db.removeUser('user')

mongo 备份恢复
mongoimport/mongoexport - mongodump/mongorestore
--导出json、csv格式及恢复(使用不同数据库数据转移)
mongoexport -d dbName -c collectionName -f 列名 -q query条件 [--csv] -o 文件位置
mongoexport -d test -c stu -f sid,name -q '{name:'xiaoming'}' [--csv] -o ./test.stu.[json/csv]
mongoimport -d test -c stu --type json --file ./test.stu.json
mongoimport -d test -c stu -f sid,name --type csv --headerline --file ./test.stu.csv
--导出bson格式及恢复(同时导出bson数据文件和json索引文件,体积更小,包含索引信息)
mongodump [-d -c -f -o]
mongorestore [-d -c -f --directoryperdb dump/test]

mongo 复制集
实现步骤:
cd /usr/local/var/
mkdir mongodb/m17 mongodb/m18 mongodb/m19
mongod --dbpath mongodb/m17/ --logpath log/mongodb/m17.log --logappend --port 27017 --fork --smallfiles --replSet rsTest
mongod --dbpath mongodb/m17/ --logpath log/mongodb/m18.log --logappend --port 27018 --fork --smallfiles --replSet rsTest
mongod --dbpath mongodb/m17/ --logpath log/mongodb/m19.log --logappend --port 27019 --fork --smallfiles --replSet rsTest
mongo --port 27017
use admin
var rsconfig = {
_id: 'rsTest',
members: [
{_id: 0, host: 'localhost:27017'},
{_id: 1, host: 'localhost:27018'},
{_id: 2, host: 'localhost:27019'}
]
}
rs.initiate(rsconfig)
--- 以上已完成复制集相关配置
--- 以下为加入auth、keyfile及mongoose接入
keyfile创建--
openssl rand -base64 64 > keyfile.dat #生成64字节密钥文件
chmod 600 keyfile.dat 设置权限
将keyfile文件复制到所有节点下
用户权限设置--
use admin
db.createUser({user:'root',pwd:'123456',roles:['root']}) #超级用户
use test
db.createUser({user:'test',pwd:'123456',roles:[{role:'readWrite',db:'test'}]})
mongo.conf文件配置--
keyfile='./keyfile.dat'
auth='true'
mongoserver启动及rs相关操作--
mongod -f xx.conf
use admin
db.auth('root', '123456')
rs.status()
rs.slaveOk()
rs.conf()
rs.add()
rs.remove()
rs.reconfig()
db.shutdownServer()
mongoose可以传多个url并设置replSet的值'rstest'

mongo 分片

~持续补上更多.

一次对MKMapView的性能优化的更多相关文章

  1. 01.SQLServer性能优化之----强大的文件组----分盘存储

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...

  2. 03.SQLServer性能优化之---存储优化系列

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概  述:http://www.cnblogs.com/dunitian/p/60413 ...

  3. Web性能优化:What? Why? How?

    为什么要提升web性能? Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上. web性能对于用户体验有及其重要的影响,根据 ...

  4. Web性能优化:图片优化

    程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...

  5. C#中那些[举手之劳]的性能优化

    隔了很久没写东西了,主要是最近比较忙,更主要的是最近比较懒...... 其实这篇很早就想写了 工作和生活中经常可以看到一些程序猿,写代码的时候只关注代码的逻辑性,而不考虑运行效率 其实这对大多数程序猿 ...

  6. JavaScript性能优化

    如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度. 这种情况下决定程序速度的另一个重要因素就是代码本身. 在这里我们会分门别类的介绍J ...

  7. 02.SQLServer性能优化之---牛逼的OSQL----大数据导入

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 上一篇:01.SQLServer性能优化之----强大的文件组----分盘存储 http ...

  8. C++ 应用程序性能优化

    C++ 应用程序性能优化 eryar@163.com 1. Introduction 对于几何造型内核OpenCASCADE,由于会涉及到大量的数值算法,如矩阵相关计算,微积分,Newton迭代法解方 ...

  9. Android性能优化之利用LeakCanary检测内存泄漏及解决办法

    前言: 最近公司C轮融资成功了,移动团队准备扩大一下,需要招聘Android开发工程师,陆陆续续面试了几位Android应聘者,面试过程中聊到性能优化中如何避免内存泄漏问题时,很少有人全面的回答上来. ...

随机推荐

  1. C# 获取 mp3文件信息

    C# 获取 mp3文件信息[包括:文件大小.歌曲长度.歌手.专辑] 第一种方式:[代码已验证] // http://bbs.csdn.net/topics/390392612   string fil ...

  2. 如果你恨一个程序员,忽悠他去做iOS开发

    如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼, ...

  3. Application对象、Session对象、Cookie对象、Server对象初步认识

    Application对象:记录应用程序参数的对象 用于共享应用程序级信息,即多个用户共享一个Application对象.在第一个用户请求ASP.NET文件时,将启动应用程序并创建Applicatio ...

  4. Java总结篇系列:类型转换/造型

    Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码中具有重要的作用.首先,来 ...

  5. 孙鑫MFC学习笔记12:文件读写

    1.指向常量的指针 2.指针常量 3.C语言对文件操作是在缓冲区,在缓冲区满或文件关闭时写入文件 读取相同 4.fflush刷新缓冲区,使缓冲区数据写入文件 5.fseek改变文件指针偏移量 6.st ...

  6. Widget的点击事件

    本文实现Widget中的按钮点击事件,点击一次下面的按钮,上面的数字减少1. 首先是Manifest文件: <?xml version="1.0" encoding=&quo ...

  7. jdk1.6与Myeclipse的冲突造成的

    出现这样的错误时:ERROR:JDWP   Unable   to   get   JNI   1.2   environment   ,jvm-> GetEvn()   return   =- ...

  8. Spring、mybaits整合

    mybatis.cfg.xml <!DOCTYPE configuration PUBLIC "-//mybatis.org/DTD Config 3.0//EN" &quo ...

  9. Scalaz(40)- Free :versioned up,再回顾

    在上一篇讨论里我在设计示范例子时遇到了一些麻烦.由于Free Monad可能是一种主流的FP编程规范,所以在进入实质编程之前必须把所有东西都搞清楚.前面遇到的问题主要与scalaz Free的Free ...

  10. Spring中的通知(Advice)和顾问(Advisor)

    在Spring中,目前我学习了几种增强的方式,和大家分享一下 之前的话: 1.AOP  (Aspect  Oriented Programming  面向切面编程) 在软件业,AOP为Aspect O ...