Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何获取集合的不同值_Mongodb_Go - Fatal编程技术网

Mongodb 如何获取集合的不同值

Mongodb 如何获取集合的不同值,mongodb,go,Mongodb,Go,我正在尝试使用mongodb和Go,但无法获得集合中字段的不同值 这是我的代码: import ( "context" "fmt" "log" "time" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) type House struct { Ciudad string } func main() { c

我正在尝试使用mongodb和Go,但无法获得集合中字段的不同值

这是我的代码:

import (
    "context"
    "fmt"
    "log"
    "time"

    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
)


type House struct {
    Ciudad string
}


func main() {

    client, err := mongo.NewClient(options.Client().ApplyURI("mongodb://localhost:27017"))
    if err != nil {
        log.Fatal(err)
    }
    ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
    err = client.Connect(ctx)

    collection := client.Database("test").Collection("houses")

    var house repository.House

    fmt.Println(collection.Distinct(ctx, "City", &house))

}
执行此操作后,我总是得到一个空数组。此代码中有错误的想法吗?

替换该行

fmt.Println(collection.Distinct(ctx, "City", &house))


第三个参数filter是BSON文档。请注意,Distinct返回两个值,[]接口,错误。

显示houses集合中的数据可能会有所帮助。如果将过滤器参数设置为nil而不是&house,会怎么样?
fmt.Println(collection.Distinct(ctx, "City", bson.D{{}}))