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. [译]针对科学数据处理的统计学习教程(scikit-learn教程2)

    翻译:Tacey Wong 统计学习: 随着科学实验数据的迅速增长,机器学习成了一种越来越重要的技术.问题从构建一个预测函数将不同的观察数据联系起来,到将观测数据分类,或者从未标记数据中学习到一些结构 ...

  2. 网络基础:NetBIOS

    网络基础小补. 利用 NetBIOS 名称与其他计算机通信 网络中的计算机之间必须知道IP地址后才能相互通信.但对人来说IP难以记忆,NetBIOS计算机名称比较容易记忆.当计算机使用 NetBIOS ...

  3. 使用Dom4j进行XML解析

    1  概述 在进行ESB集成项目中,使用到了很多系统的接口,这些接口传输的数据大部分都采用了XML的格式,这样在使用ESB开发服务时就需要对XML数据进行解析或拼接的操作,本文以项目中流程服务为例,讲 ...

  4. 用js解析经json序列化后的C#的DateTime类型数据

    格式化日期(网上到处是),把下面的代码添加到jQuery.js文件中 //格式化日期 Date.prototype.format = function(format) { /* * eg:format ...

  5. linux下的C语言开发

    在很多人的眼里,C语言和linux常常是分不开的.这其中的原因很多,其中最重要的一部分我认为是linux本身就是C语言的杰出作品.当然,linux操作系统本身对C语言的支持也是相当到位的.作为一个真正 ...

  6. C# WebClient 使用http免费代理。

    static void Main(string[] args) { WebClient client = new WebClient(); client.Encoding = Encoding.Get ...

  7. Tomcat Server Timeouts属性的设置

    在启动Tomcat Server时,经常会出现启动时间过长的错误,如下图所示(为了方便截图,Start Timeout被设置为5秒钟,一般为45秒钟). 双击Tomcat v7.0 Server at ...

  8. 第 29 章 CSS3 弹性伸缩布局[下]

    学习要点: 1.新版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.新版本 新版本的 Flexbox 模型是 201 ...

  9. python队列Queue

    Queue Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递 基本FIFO队列 clas ...

  10. 【JAVA并发编程实战】2、对象的组合

    1. 设计线程安全的类 1.找出构成对象状态的所有变量 2.找出约束状态变量的不变性条件 3.建立对象状态的并发访问管理策略 package cn.xf.cp.ch04; /** * *功能:JAVA ...