github.com/timshannon/bolthold (go): Package bolthold is an indexing and querying layer on top of a Bolt DB.  The goal is to allow easy, persistent storage and retrieval of Go types.  BoltDB is an embedded key-value store, and bolthold servers a similar use case however with a higher level interface for common uses of BoltDB.  BoltHold deals directly with Go Types.  When inserting data, you pass in your structure directly.  When querying data you pass in a pointer to a slice of the type you want to return.  By default Gob encoding is used. You can put multiple different types into the same DB file and they (and their indexes) will be stored separately.  BoltHold will automatically create an index for any struct fields tags with "boltholdIndex"  The first field specified in query will be used as the index (if one exists).  Queries are chained together criteria that applies to a set of fields:
Keywords: boltdb|bucket|go|golang|nosql|query-criteria