第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

mongodb中能否$push一個數(shù)組元素

mongodb中能否$push一個數(shù)組元素

喵喵時光機 2019-03-01 10:45:17
如題我想要得到 [[value1,value2],[value3,value4],[value5,value6]],這樣的數(shù)據(jù),但是 $push 只能這樣 { $push: { key1:value1, key2:value2 } } 最后得到 [{key1:value1,key2:value2},{key1:value3,key2:value4},{key1:value5,key2:value6}] 請問在不重新遍歷的情況下怎樣才能得到想要的數(shù)據(jù)呢? 補充: 原數(shù)據(jù)格式為 { key1:value1, key2:value2, key3:value3, key4:value4 } 比如我想要以key1,key4分組,算key2,key3的平均值 { $group: { _id:{ key1:$key1, key4:$key4 }, key2_avg:{ $avg:$key2 }, key3_avg:{ $avg:$key3 } } }, { $group: { _id:$_id.key4, key2_array:{ $push:{ key2:$key2_avg } }, key3_array:{ $push:{ key3:$key3_avg } } } } 最后我想輸出這樣的格式 { _id:value4, key2_array:[[key1,key2_avg],[key1,key2_avg]], key3_array:[[key1,key3_avg],[key1,key3_avg]] },
查看完整描述

3 回答

?
BIG陽

TA貢獻1859條經(jīng)驗 獲得超6個贊

你要的形式看起來有點奇怪,我也沒理解背后的意義是得到什么,但是單就形式上講是可以做到的,看這樣是不是你要的結(jié)果:

db.test.aggregate([{
    $group: {
        _id: {
            key1: "$key1",
            key4: "$key4"
        },
        key2_avg: {
            $avg: "$key2"
        },
        key3_avg: {
            $avg: "$key3"
        }
    }
}, {
    $project: {
        key2: ["$_id.key1", "$key2_avg"],
        key3: ["$_id.key1", "$key3_avg"]
    }
}, {
    $group: {
        _id: "$_id.key4",
        key2_array: {
            $push: "$key2"
        },
        key3_array: {
            $push: "$key3"
        }
    }
}]);
查看完整回答
反對 回復(fù) 2019-03-01
?
夢里花落0921

TA貢獻1772條經(jīng)驗 獲得超6個贊

題主想要一個多維數(shù)組, 就像如下操作就行了. 在array中添加一個array.

db.user.update({}, {$push: {test: ['a', 'b']} })

查詢返回結(jié)果

{ "_id" : NumberLong(2), "test" : [ [ "a", "b" ], [ "a", "b" ] ] }
查看完整回答
反對 回復(fù) 2019-03-01
  • 3 回答
  • 0 關(guān)注
  • 572 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號