bson: "-" не отменяет маршалинг и игнорирует при вставке - PullRequest
0 голосов
/ 03 сентября 2018

С $ lookup я столкнулся с некоторыми трудностями:

Моя структура:

type Item struct {
    ID          bson.ObjectId   `json:"id" bson:"_id"`
    Name        string          `json:"name" bson:"name"`
    Description string          `json:"description" bson:"description"`
    CoverImage  bson.ObjectId   `json:"cover_image,omitempty" bson:"cover_image,omitempty"`
    GalleryList []*File
}

pipeline := []bson.M{
    bson.M{
        "$lookup": bson.M{
            "from":         "files",
            "localField":   "cover_image",
            "foreignField": "_id",
            "as":           "gallerylist",
    },
}

Итак, я хочу использовать $ lookup для получения структур с совпадающим идентификатором в «файлах» коллекции с идентификатором поля «cover_image».

Пока все нормально, проблема в следующем:

Если 'bson:"-"' в GalleryList, конвейер не отменяется в поле

Пример: GalleryList []*File 'bson:"-"'

И я не хочу, чтобы GalleryList хранился внутри монго.

Есть ли что-нибудь, что я могу в GalleryList, не вставлять вместе с остальной частью структуры.

Действительно ли мне нужно удалить это на интерфейсе или удалить вручную перед вставкой на монго?

Спасибо!

...