您的位置:首页 > 数据库 > Mongodb

MongoDB中几个关键字

2017-09-14 15:25 43 查看
db.stu.aggregate([

//按照{xx:xx}中的内容进行匹配

{$match:{age:{$gt:20}}},

对于{$group:{_id:xxx,}}格式的分组,含义为该管道为分组,_id是固定写法,对应的值即为要分组的字段

,group对应的value值里的每个key(除了_id)都可以是自定义,但是值必须从表中来

{$group:{_id:'$gender',counter:{$sum:1},docs:{$push:'$$ROOT'}}},

//投影,表达式内的内容为想要显示的值:1,  隐藏的值:0

{$project:{_id:0,counter:1}}

//按照_id指定的对应列进行降序排序

{$sort:{_id:-1}},

//与db.stu.find().skip()用法一样.不同点在于limit()函数中skip和limit位置不交换

{$skip:1},

//与上面连在一起的含义是,跳过多少个,然后取多少个

{$limit:1}

])

原数据:

{

    "_id" : 1.0,

    "item" : "t-shirt",

    "size" : [ 

        "S", 

        "M", 

        "L"

    ]

}

// unwind相当于把前边聚合起来的数据再按照配置的规则重新拆分开

db.t2.aggregate([

    {$unwind:'$size'}

])

/* 1 */

{

    "_id" : 1.0,

    "item" : "t-shirt",

    "size" : "S"

}

/* 2 */

{

    "_id" : 1.0,

    "item" : "t-shirt",

    "size" : "M"

}

/* 3 */

{

    "_id" : 1.0,

    "item" : "t-shirt",

    "size" : "L"

}

db.t2.aggregate([

    {$unwind:{path:'$size',preserveNullAndEmptyArrays:true}

        }

])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: