Архив за марта, 2016

Генерация golang структур по содержимому mongodb

30 марта, 2016 | Комментариев нет

Наткнулся на замечательную библиотечку 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

Читать полностью »