Наткнулся на замечательную библиотечку https://github.com/facebookgo/mongoschema
Генерирует по содержимому коллекции golang структуры, сразу с bson тегами, чтобы использовать с mgo
Лёгкий пример, с плоскими данными:
◼ ▶ $GOPATH/bin/mongoschema -url=localhost -db=test -collection=users -struct=User -package=main package main type User struct { Google string `bson:"google,omitempty"` ID bson.ObjectId `bson:"_id,omitempty"` Email string `bson:"email,omitempty"` DisplayName string `bson:"displayName,omitempty"` Picture string `bson:"picture,omitempty"` }
Для данных с разной структурой будет выдана невалидная структура, в которой нужно самостоятельно выбрать проблемные участки. Работает только с флагом -raw