设为首页 加入收藏

TOP

mongo实践-通过js shell操作mongo(一)
2014-11-24 03:16:03 来源: 作者: 【 】 浏览:0
Tags:mongo 实践 通过 shell 操作
mongo实践-通过js shell操作mongo
保存命令:
j={name:"wangjingjing",age:15}
db.user.save(j);
www.2cto.com
查询命令:
var cursor = db.user.find();
while(cursor.hasNext())printJson(cursor.next());
printJson(cursor[4]);
var arr = cursor.toArray();
db.user.find({name:"wangjingjing"});
//select age from user where name='wangjingjing'
db.user.find({name:"wangjingjing"},{age:true});
db.user.findOne();
db.user.find().limit(3);
修改命令: www.2cto.com
db.user.update({name:"wangjingjing"},{$set:{name:"jingjing"}});
db.user.update({name:"wangjingjing"},{$inc:{age:10}}); //给age增加10
db.user.update({name:"wangjingjing"},{$push:{habit:["basketball","football"]}});
删除命令:
db.user.remove({name:"jingjing"})
高级查询命令:
db.user.find({x:{$gt:3}}); x>3
db.user.find({x:{$lt:3}}); x<3
db.user.find({x:{$gte:3}}); x>=3
db.user.find({x:{$lte:3}}); x<=3
db.user.find({x:{$lte:3,$gte:2}}); 2<=x<=3
var x = {x:[3,4,5]}
db.user.save(x);
db.user.find({x:{$all:[3,4]}}) 匹配
db.user.find({x:{$all:[3,4,6]}}) 不匹配
db.user.find({x:{$in:[3,4,6]}}) 匹配
db.user.find({x:{$nin:[3,4,6]}}) 匹配
db.user.find({x:{$exsits:true}}) 匹配有包含x的属性
db.user.find({x:{$mod:[6,1]}}) 取模6等于1
db.user.find({x:{$ne:1}}) x!=1
db.user.find({$or:[{name:"jing"],[age:10]}) 或操作
db.user.find({x:{$size:3}}) 数组x的元素个数为3
db.user.find().skip(1).limit(1).count(true); 第二个记录
db.user.find().sort({age:1});升序
db.user.find().sort({age:-1});降序
导出文件
mongoexport -d user -c user -o user.bat
导入文件
mongoimport -d user -c user user.bat
备份文件
mongodump -d user -o my_user_dump
恢复文件
mongorestore -d user my_user_dump\user\
安全访问
mongod --bind_ip 192.168.1.103 --port 28018
mongo 192.168.1.103:28018
建立索引
db.user.ensureIndex({age:1},{background:true}); 升序
db.user.getIndexes();
解释执行
db.user.find().explain()
复制集
Replica Set使用指南(在单机上配置)
简介:
一个Replica-Set是在一组N个mongod服务一起协作来进行后援支持。
搭建一个replica-set需要两个步骤:在每个节点上启动服务;初始化这个set。
标准模式下,1个set包含3个节点。我们现在就在同一个服务器上搭建一个。
一旦mongod服务节点都启动了,我们需要一个指令来初始化这个set。几秒钟之后,三个节点中会选择出一个
主控节点(master node),之后我们就可以向这个set中写入或者查询数据了。
www.2cto.com
步骤一:
分别为3个节点分配数据存放的位置空间
$ mkdir -p /data/r0
$ mkdir -p /data/r1
$ mkdir -p /data/r2
之后,使用 --replSet 参数启动mongod服务,这个参数需要我们指定replica-set的名称,这里我们称我们的这个set为“foo”
$ mongod --replSet foo --port 27017 --dbpath /data/r0
$ mongod --replSet foo --port 27018 --dbpath /data/r1
$ mongod --replSet foo --port 27019 --dbpath /data/r2
现在3个节点都跑起来了。这时,每个节点应该都打出如下的警告信息:
————————
Mon Aug 2 11:30:19 [startReplSets] replSet can't get local.
system.replset config from self or any seed (EMPTYCONFIG)
————————
不要紧张,这是因为我们还没有初始化这个set.
步骤二:
我们可以从任意3个节点中的一个来运行 replSetInitiate 命令来初始化这个set.
[kyle@arete ~$]$ mongo localhost:27017
MongoDB shell version: 1.6.3
connecting to: localhost:27017/test
> config = {_id: 'foo', members: [
{_id: 0, host: 'localhost:27017'},
{_id: 1, host: 'localhost:27018'},
{_id: 2, host: 'localhost:27019'}]
}
> rs
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇为过程或函数指定了过多的参数 下一篇通过DBMS_RANDOM得到随机

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)
·SQL CREATE INDEX 语 (2025-12-25 01:21:45)
·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)