簡體   English   中英

Golang mgo結果變成了簡單的切片

[英]Golang mgo result into simple slice

我對Go和MongoDB都很新。 嘗試從數據庫中選擇一個字段並將其保存在int切片中,但沒有任何效果。

userIDs := []int64{}

coll.Find(bson.M{"isdeleted": false}).Select(bson.M{"userid": 1}).All(&userIDs)

以上打印出一個空切片。 但是,如果我使用單個ID字段創建一個帶有編組的int64的結構,那么它可以正常工作。

我所要做的就是使用一個包含我需要的ID的簡單切片,而不是一個包含單個字段的結構。 所有幫助表示贊賞。

由於mgo查詢返回文檔,因此需要幾行代碼才能完成目標:

var result []struct{ UserID int64 `bson:"userid"` }
err := coll.Find(bson.M{"isdeleted": false}).Select(bson.M{"userid": 1}).All(&result)
if err != nil {
    // handle error
}
userIDs := make([]int64, len(result))
for i := range result {
    userIDs[i] = result.UserID
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM