mongoDB高级查询
2012-11-29 21:35
295 查看
1 游标的使用:
>var x=db.c1.find();
>x.hasNext();
>x.next()
>var cur=db.c1.find().skip(10).limit(8);
>cur.forEach(function(x){print(tojson(x))});
输出:
2 NUll查询
db.c1.find({age:{$exists:1,$in:[null]}}); 查找存在age列且值为null的文档
或者 db.c1.find({age:{$type:10,name:"user1"}}); 其中$type:10表示null
3 $slice
db.c1.find({name:"user1",{post:{$slice:3}});
其中$slice:3表示post数组中的前三个
db.c1.find({name:"user1"},{post{$slice:[1,2]}});
表示从第一个开始取两个
4 update 语法
db.collection.update(criteria,objNew,upsert,multi);
criteria:用于设置查询条件对象
ObjNew:用于设置更新对象的内容
Upsert:如果记录已经存在,更新它,否则新增一个记录
Multi:如果有多个符合条件的记录,全部更新(默认值为0,且只能用于魔术变量)
db.c1.update({name:"user1"},{name:"user11"},1); 如果user1不存在则添加user11记录
4.1 $set
db.c1.update({name:"user11"},{$set:{name:"user1"}},0,1);
db.c1.update({name:"user1"},{$set:{age:10}},0,1);
4.2 $inc
db.c1.update({},{$inc:{score:10}},0,1);
{}匹配所有的记录
如果有score字段则加十分,如果没有则增加score字段且值为10
4.3 $push和$pop
db.c1.update({name:"user1"},{$push:{arr:4}});
在arr数组中加元素4
db.c1.update({name:"user1"},{$pop:{arr:1}});
从arr数组中去除最后那个元素
$pushAll 压入整个数组
4.4 $addToSet
db.c1.update({name:"user1"},{$addToSet:{arr:{$each:[7,8,9]}}});
依次压入数组内容【7,8,9】
4.5 $pull
db.c1.update({name:"user1"},{$pull:{arr:5}});
$pull删除数组中的具体值
$pullAll用法:db.c1.update({name:"user1"},{$pullAll:{arr:[2,4]}});
4.6 $rename
db.c1.update({name:"user1"},{$rename:{arr:"post"}});
>var x=db.c1.find();
>x.hasNext();
>x.next()
>var cur=db.c1.find().skip(10).limit(8);
>cur.forEach(function(x){print(tojson(x))});
输出:
2 NUll查询
db.c1.find({age:{$exists:1,$in:[null]}}); 查找存在age列且值为null的文档
或者 db.c1.find({age:{$type:10,name:"user1"}}); 其中$type:10表示null
3 $slice
db.c1.find({name:"user1",{post:{$slice:3}});
其中$slice:3表示post数组中的前三个
db.c1.find({name:"user1"},{post{$slice:[1,2]}});
表示从第一个开始取两个
4 update 语法
db.collection.update(criteria,objNew,upsert,multi);
criteria:用于设置查询条件对象
ObjNew:用于设置更新对象的内容
Upsert:如果记录已经存在,更新它,否则新增一个记录
Multi:如果有多个符合条件的记录,全部更新(默认值为0,且只能用于魔术变量)
db.c1.update({name:"user1"},{name:"user11"},1); 如果user1不存在则添加user11记录
4.1 $set
db.c1.update({name:"user11"},{$set:{name:"user1"}},0,1);
db.c1.update({name:"user1"},{$set:{age:10}},0,1);
4.2 $inc
db.c1.update({},{$inc:{score:10}},0,1);
{}匹配所有的记录
如果有score字段则加十分,如果没有则增加score字段且值为10
4.3 $push和$pop
db.c1.update({name:"user1"},{$push:{arr:4}});
在arr数组中加元素4
db.c1.update({name:"user1"},{$pop:{arr:1}});
从arr数组中去除最后那个元素
$pushAll 压入整个数组
4.4 $addToSet
db.c1.update({name:"user1"},{$addToSet:{arr:{$each:[7,8,9]}}});
依次压入数组内容【7,8,9】
4.5 $pull
db.c1.update({name:"user1"},{$pull:{arr:5}});
$pull删除数组中的具体值
$pullAll用法:db.c1.update({name:"user1"},{$pullAll:{arr:[2,4]}});
4.6 $rename
db.c1.update({name:"user1"},{$rename:{arr:"post"}});
相关文章推荐
- MongoDB高级查询语句
- MongoDB高级查询
- MongoDB中的高级查询(二)
- MongoDB高级查询[聚合Group]
- mongoDB高级查询与索引
- mongodb 高级查询
- mongoDB 高级查询之取模查询$mod
- java程序员的python之路(mongodb高级查询)
- MongoDB基本用法(增删改高级查询、mapreduce)
- MongoDB 教程三: 高级查询 (SQL到MongoDB映射表)
- MongoDB学习之旅八:MongoDB高级查询の游标使用
- mongodb的高级查询
- MongoDB高级查询详细
- mongodb的高级查询
- MongoDB与PHP -- 高级查询
- mongodb高级查询--聚集框架
- 第二部分 应用篇 第五章 MongoDB高级查询
- MongoDB学习之旅九:MongoDB高级查询の存储过程
- java mongodb 高级查询
- mongodb 高级查询 group count 查询