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

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

mgo 將 mapreduce 轉(zhuǎn)換為聚合命令

mgo 將 mapreduce 轉(zhuǎn)換為聚合命令

Go
有只小跳蛙 2023-06-12 15:32:53
我正在嘗試將此函數(shù)從 mapreduce 轉(zhuǎn)換為聚合。上述函數(shù)的結(jié)果將是[{pending 1}]。當(dāng)我運(yùn)行我的匹配組時,我[{pending 0}]從下面的代碼中得到:? mat := bson.M{? ? ? ? ? ? "$match": bson.M{"device_id": devId},? ? }? ? grp := bson.M{? ? ? ? ? ? "$group": bson.M{? ? ? ? ? ? ? ? ? ? "_id": "$status",? ? ? ? ? ? ? ? ? ? "count": bson.M{? ? ? ? ? ? ? ? ? ? ? ? ? ? "$sum": 1,? ? ? ? ? ? ? ? ? ? },? ? ? ? ? ? },? ? }? ? pipe := c.Pipe([]bson.M{mat,grp})? ? pipe.One(&result)但我認(rèn)為 mongo shell 中的命令也一樣[{pending 1}]。db.getCollection("auth_sets").aggregate([{? ? $match: {? ? ? ? device_id:"5c79601d152ece00012f5831"? ? }},{? ? $group: {? ? ? ? _id:"$status",? ? ? ? count: {? ? ? ? ? ? $sum: 1? ? ? ? }? ? ?}},]);我怎樣才能得到它,以便我的管道返回[{pending 1}]?我正在更改它,以便我可以使用 Mongo Atlas 不允許 mapreduce。
查看完整描述

1 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個贊

您的mgo查詢結(jié)構(gòu)沒問題,問題是字段名稱count。該模型期望Value:


var result []struct {

    Status string `bson:"_id"`

    Value  int

}

所以把$group舞臺改成這樣:


grp := bson.M{

        "$group": bson.M{

                "_id": "$status",

                "value": bson.M{   // Note lowercased "value"!

                        "$sum": 1,

                },

        },

}

它應(yīng)該有效?;蛘撸绻梢?,請更改模型:


var result []struct {

    Status string `bson:"_id"`

    Value  int    `bson:"count"`

}

只有其中一個需要更改,才能與另一個保持一致。


最后一件事:如果您使用Query.One(),則result不能是切片(One()恰好需要一個文檔)。


result如果您使用 eg ,請使用切片類型Query.All()。


因此,如果您要使用Query.One(),請使用結(jié)果:


var result struct {

    Status string `bson:"_id"`

    Value  int    `bson:"count"`

}

另外Query.One()并Query.All()返回錯誤,請檢查它!


查看完整回答
反對 回復(fù) 2023-06-12
  • 1 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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