С $ 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, не вставлять вместе с остальной частью структуры.
Действительно ли мне нужно удалить это на интерфейсе или удалить вручную перед вставкой на монго?
Спасибо!