Golang MongoDB 错误:result 参数必须是切片地址 - (数组)



我想从 mongo 集合中检索 id 列表(类型 long(

ids: = [] int64
if count >= 5 {
  err = collection.Find(query).Select(bson.M {
    "_id": 1
  }).Skip(rand.Intn(count - 4)).Limit(4).All(ids)
}

我收到一个错误,指出 http:紧急服务 [::1]:62322:结果参数必须是切片地址

我尝试使用 make 来获取切片,这导致了同样的错误

ids: = make([]int64, 0, 4)
if count >= 5 {
  err = collection.Find(query).Select(bson.M {
    "_id": 1
  }).Skip(rand.Intn(count - 4)).Limit(4).All(ids)
}

将指向切片的指针传递给All

ids: = []int64
if count >= 5 {
  err = collection.Find(query).
      Select(bson.M{"_id": 1}).
      Skip(rand.Intn(count - 4)).
      Limit(4).
      All(&ids)  // <-- change is here
}

最新更新