MongoDB中几个关键字





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}
        }
])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值