Тег JSON игнорируется при вставке структуры / документа в монго (через mgo)

Вот как выглядит структура Так выглядят документы в Монго.

2 ответа

Если вы посмотрите на документацию mgo пакет, вы увидите структуры, помеченные `bson:"fieldName` не `json:"fieldName"`, Вы можете увидеть пример здесь

Причина в том, что монго использует bson формат сериализации вместо json отправить структуры по проводу. bson очень похоже на json в том, что он может хранить, но это двоичный формат и оптимизирован для использования в системах хранения, таких как базы данных.

Поэтому обновите вашу структуру, чтобы она выглядела так:

type Event struct {
    Id           string     `bson:"id"`
    CreationDate time.Time  `bson:"creationTime"`
    CreatorId    string     `bson:"creatorId"`
    Place        string     `bson:"place"`
    ActivityId   string     `bson:"activityId"`
    Time         time.Time  `bson:"time"`
    Lang         string     `bson:"lang"`
}

Вы можете использовать оба json а также bson теги одновременно.

type Event struct {
    Id           string    `json:"id" bson:"id"`
    CreationDate time.Time `json:"creationTime" bson:"creationTime"`
    CreatorId    string    `json:"creatorId" bson:"creatorId"`
    Place        string    `json:"place" bson:"place"`
    ActivityId   string    `json:"activityId" bson:"activityId"`
    Time         time.Time `json:"time" bson:"time"`
    Lang         string    `json:"lang" bson:"lang"`
}
Другие вопросы по тегам