亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mongodb聚合問題

mongodb聚合問題

jeck貓 2018-08-09 17:06:20
mongodb里數據結構如下{'_id': 1, 'a': 10, 'b': 20}需要得以的結構為_a: a*2_b: a*2+bdb.getCollection('XXX').aggregate({    $project:{        _a: {$multiply:['$a', 2]},        _b: {$add:['$this._a', '$b']}    }})我這里怎么使用已經計算好的_a值
查看完整描述

2 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

要先理解aggregation的工作方式。如果了解linux的話,它跟管道是很相似的工作方式。一個管道計算的結果可以在下一個管道中使用。但是在同一個管道中使用,要么就只能重算一遍

db.getCollection('XXX').aggregate({
    $project:{
        _a: {$multiply:['$a', 2]},
        _b: {$add:[{$multiply:['$a', 2]}, '$b']}
    }
});

或者在下一個管道中做計算

db.getCollection('XXX').aggregate({    $project: {
        _a: {$multiply:['$a', 2]},
        b: '$b'
    },   
     $project: {
        _a: '$_a',
        _b: {$add: ['$_a', '$b']}
});


查看完整回答
反對 回復 2018-08-26
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

db.getCollection('XXX').aggregate({

    $project:{

        _a: {$multiply:['$a', 2]},

        _b: {$add:[{$multiply:['$a', 2]}, '$b']}

    }

})


查看完整回答
反對 回復 2018-08-26
  • 2 回答
  • 0 關注
  • 787 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號