Как получить определенную ценность коллекции - PullRequest
0 голосов
/ 11 мая 2019

Я пытаюсь использовать 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))

}

После выполнения всегда получаю пустой массив. Любая идея, которая не так в этом коде?

1 Ответ

1 голос
/ 12 мая 2019

Заменить строку

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

С

fmt.Println(collection.Distinct(ctx, "City", bson.D{{}}))

Третий параметр, filter, является документом BSON, https://godoc.org/go.mongodb.org/mongo-driver/mongo#Collection.Distinct. Обратите внимание, что Distinct() возвращает два значения, ([]interface, error).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...