Mongodb

$in: 和sql中的in一样

cursor = models.UserGroup.aggregate([
        MatchStage(params),
        LookupStage(Group, 'groupID', '_id', 'group'),
        MatchStage({'group.status': GROUP_STATUS_ACTIVATED}),
        UnwindStage('group')])

cusor:光标

aggregate:聚合函数

Match:筛选,相当于where

Lookup:join

unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。

需求:

{
    "_id" : ObjectId("5951c5de567ebff0d5011fba"),
    "name" : "陈晓婵",
    "address" : "北京朝阳区",
    "weekday" : [ 
        1, 
        2, 
        3, 
        4, 
        5
    ]
}

对weekday进行拆分:

db.getCollection('chenxiaochantest').aggregate(
 [
  {
     $unwind:"$weekday"
  }
 ]
)
 

拆分结果:

/* 1 */
{
    "_id" : ObjectId("5951c5de567ebff0d5011fba"),
    "name" : "陈晓婵",
    "address" : "北京朝阳区",
    "weekday" : 1
}
 
/* 2 */
{
    "_id" : ObjectId("5951c5de567ebff0d5011fba"),
    "name" : "陈晓婵",
    "address" : "北京朝阳区",
    "weekday" : 2
}
 
/* 3 */
{
    "_id" : ObjectId("5951c5de567ebff0d5011fba"),
    "name" : "陈晓婵",
    "address" : "北京朝阳区",
    "weekday" : 3
}
 
/* 4 */
{
    "_id" : ObjectId("5951c5de567ebff0d5011fba"),
    "name" : "陈晓婵",
    "address" : "北京朝阳区",
    "weekday" : 4
}
 
/* 5 */
{
    "_id" : ObjectId("5951c5de567ebff0d5011fba"),
    "name" : "陈晓婵",
    "address" : "北京朝阳区",
    "weekday" : 5
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值