Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14428
  • 博文数量: 2
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 25
  • 用 户 组: 普通用户
  • 注册时间: 2014-02-17 15:14
文章分类
文章存档

2015年(1)

2014年(1)

我的朋友

分类: LINUX

2015-02-06 12:03:29

首先是概念:集合=表,db还是db

常用的较为简单的mongo的命令

db.collection.insert({});
基本命令格式

查看集合列表:
show collections

插入数据:
db.test.insert({name:"test",age:"30"});
往test集合中插入一条 名字:test 年龄:30的记录

批量插入可使用[ ]来区分数据:
db.test.insert([{name:"test",age:"20"},{name:"test1",age:"22"}]);

查找&&替换
db.test.update({age:{$lt:30}},{$set:{status:"x"}},{upsert:true,multi:true});
db.test.update({age:{$lt:30}},{$set:{status:"x"}} upsert=false multi=true);
以上两条命令需要验证下,貌似都可以查找并替换,区别在于后面的参数的写法
upsert:不存在该文档则创建
multi:递归查找并替换


精确匹配数组
db.test.find({'tags.0':fruit'});
在数组中匹配指定索引或位置与条件相等的文档,使用点符号匹配所有tags是一个数组,且第一个元素是“fruit”的文档;

复合查询:(and同时满足)
db.test.find({$and:[{age:{$gt:30}},{name:"Lucy",status:"x"}]});
同时满足年龄大于30,且名字是Lucy的女性

(or满足其一即可)
db.test.find({$or:[{age:{$ge:30}},{name:"Lucy"}]});
满足只要年龄大于30或者叫“Lucy”的条目全部列出

限制返回结果(文档的数量)
db.test.find().limit(2);
test集合中的前2个文档

(返回指定的字段)
db.test.find({},{name:1});
查询test集合中所有有name字段的条目,
name:1 这里的数值,1代表需要返回,0表示不需要返回

cursor游标遍历查询方法
var myCursor=db.test.find({name:"Lucy"});
myCursor.forEach(printjson);

阅读(900) | 评论(0) | 转发(0) |
0

上一篇:linux sort 命令详解

下一篇:没有了

给主人留下些什么吧!~~