facebookarchive / Mongoschema
Licence: other
A tool to generate Go struct types based on data in a Mongo collection.
Stars: ✭ 155
Programming Languages
go
31211 projects - #10 most used programming language
mongoschema
mongoschema
is a tool that runs over a Collection in a Mongo DB, and
generates a struct with appropriate types and bson tags.
go get github.com/facebookgo/mongoschema
For example, lets make a collection with some data:
# mongo
MongoDB shell version: 2.4.8
connecting to: test
> db.company.insert({name:"Facebook", address:{street_1:"1 Hacker Way", city:"Menlo Park"}, jobs_url:"https://www.facebook.com/careers"})
> db.company.insert({name:"Parse", address:{street_1:"1 Hacker Way", city:"Menlo Park"}, jobs_url:"https://parse.com/jobs"})
>
bye
And now we can run our tool against this collection:
# mongoschema -url=localhost -db=test -collection=company -package=main -struct=Company
package main
type Company struct {
ID bson.ObjectId `bson:"_id,omitempty"`
Name string `bson:"name,omitempty"`
Address struct {
Street1 string `bson:"street_1,omitempty"`
City string `bson:"city,omitempty"`
} `bson:"address,omitempty"`
JobsURL string `bson:"jobs_url,omitempty"`
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].