设为首页 加入收藏

TOP

Mongodb-基本命令(四)
2015-11-21 01:54:07 来源: 作者: 【 】 浏览:3
Tags:Mongodb- 基本 命令
.", "userFlags" : 1, "capped" : false, "nindexes" : 1, "totalIndexSize" : 8176, "indexSizes" : { "_id_" : 8176 }, "ok" : 1 }
9.6 分页查询 skip 和 limit (类似于 linq 操作)

?

?

> db.LABELNET.find().skip(2).limit(2);
{ "_id" : ObjectId("55beca4632cbb5faa25c967f"), "name" : "ming", "age" : 10 }
{ "_id" : ObjectId("55beca5132cbb5faa25c9680"), "name" : "zhuo", "age" : 30 }
> db.LABELNET.find().skip(0).limit(2);
{ "_id" : ObjectId("55bec40532cbb5faa25c967c"), "name" : "csdn", "age" : 16 }
{ "_id" : ObjectId("55beca3932cbb5faa25c967e"), "name" : "yuan", "age" : 23 }
>

9.7 排序分页 sort , skip , limit

?

?

> db.LABELNET.find().sort({"age":1}).skip(0).limit(2);
{ "_id" : ObjectId("55beca4632cbb5faa25c967f"), "name" : "ming", "age" : 10 }
{ "_id" : ObjectId("55bec40532cbb5faa25c967c"), "name" : "csdn", "age" : 16 }
> db.LABELNET.find().sort({"age":1}).skip(2).limit(2);
{ "_id" : ObjectId("55beca3932cbb5faa25c967e"), "name" : "yuan", "age" : 23 }
{ "_id" : ObjectId("55beca5132cbb5faa25c9680"), "name" : "zhuo", "age" : 30 }
>

10.操作函数

?

10.1 示例 :插入100 条数据

?

> for(var i=0;i<100;i++){var ran=parseInt(i*Math.random());db.LABELNET.insert({"
name":"yuan","age":ran});}
WriteResult({ "nInserted" : 1 })
> db.LABELNET.find();
{ "_id" : ObjectId("55bec40532cbb5faa25c967c"), "name" : "csdn", "age" : 16 }
{ "_id" : ObjectId("55beca3932cbb5faa25c967e"), "name" : "yuan", "age" : 23 }
{ "_id" : ObjectId("55beca4632cbb5faa25c967f"), "name" : "ming", "age" : 10 }
{ "_id" : ObjectId("55beca5132cbb5faa25c9680"), "name" : "zhuo", "age" : 30 }
{ "_id" : ObjectId("55beca9f32cbb5faa25c9681"), "name" : "hpu", "age" : 30 }
{ "_id" : ObjectId("55becfee32cbb5faa25c9682"), "name" : "yuan", "age" : 0 }
{ "_id" : ObjectId("55becfee32cbb5faa25c9683"), "name" : "yuan", "age" : 0 }
{ "_id" : ObjectId("55becfee32cbb5faa25c9684"), "name" : "yuan", "age" : 1 }
{ "_id" : ObjectId("55becfee32cbb5faa25c9685"), "name" : "yuan", "age" : 1 }
{ "_id" : ObjectId("55becfee32cbb5faa25c9686"), "name" : "yuan", "age" : 3 }
{ "_id" : ObjectId("55becfee32cbb5faa25c9687"), "name" : "yuan", "age" : 2 }
{ "_id" : ObjectId("55becfee32cbb5faa25c9688"), "name" : "yuan", "age" : 1 }
{ "_id" : ObjectId("55becfee32cbb5faa25c9689"), "name" : "yuan", "age" : 3 }
{ "_id" : ObjectId("55becfee32cbb5faa25c968a"), "name" : "yuan", "age" : 7 }

10.2 去某个key的值

?

?

> var list=db.LABELNET.find(); list.forEach(function(x){print(x.name);});
csdn
yuan
ming
zhuo
hpu
yuan
yuan
yuan
yuan
yuan
yuan
yuan
yuan
yuan
yuan
yuan

?

10.3 性能分析函数 explain

首先我们查到 age为83的 是最后一条,且仅此一条

?

{ "_id" : ObjectId("55becfee32cbb5faa25c96e5"), "name" : "yuan", "age" : 83 }
> db.LABELNET.count({"age":83});
1
>

后我们查询这个 age为 83 的文档 :

?

?

> db.LABELNET.count({"age":83});
1
> db.LABELNET.find({"age":83}).explain()  ;
{
        "queryPlanner" : {
                "plannerVersion" : 1,
                "namespace" : "student.LABELNET",
                "indexFilterSet" : false,
                "parsedQuery" : {
                        "age" : {
                                "$eq" : 83
                        }
                },
                "winningPlan" : {
                        "stage" : "COLLSCAN",
                        "filter" : {
                                "age" : {
                                        "$eq" : 83
                                }
                        },
                        "direction" : "forward"
                },
                "rejectedPlans" : [ ]
        },
        "serverInfo" : {
                "host" : "LABELNET",
                "port" : 27017,
                "version" : "3.0.5",
                "gitVersion" : "8bc4ae20708dbb493cb09338d9e7be6698e4a3a3"
        },
        "ok" : 1
}
>

11.索引 (非常重要,可提供查询速度)ensureIndex

?

11.1 添加唯一索引

?

> db.LABELNET.ensureIndex({"name":1},{"unique":true});
{
        "createdCollectionAutomatically" : false,
        "numIndexesBefore" : 1,
        "errmsg" : "exception: E11000
首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇【翻译自mos文章】使用config.sh/.. 下一篇Oracle学习(5):多表查询

评论

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