- Notifications
You must be signed in to change notification settings - Fork1
A cool way to work with bolt database buckets
License
NotificationsYou must be signed in to change notification settings
gernest/nutz
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
nutz is a library for interacting with bolt databases. It removes the boilerplates andstay faithful with the bolt database view of "simple API".
- You want to maintain more than one database
- Your project uses nested buckets extensively.
go get github.com/gernest/nutz
package mainimport ("fmt""github.com/gernest/nutz")funcmain() {databaseName:="my-databse.db"// ntz.NewStorage takes the same arguments as *bolt.Open. The differnce is with// nutz nothing is opened.db:=nutz.NewStorage(databaseName,0600,nil)// Creates a new record in the bucket library with key "lady morgana" and// value []byte("A mist of avalon")db.Create("library","lady morgana", []byte("A mist of avalon"))// If you want to create a record which will be deep inside buckets. lets say// you want to store a record for a teacher. The buckets will be like// city>school>class>teacher.db.Create("city","john Doe", []byte("scientist"),"school","class","teacher")// Retrieving records from a bolt database.d:=db.Get("library","lady morgana")fmt.Println(string(d.Data)=="A mist of avalon")//=> true// lets check if there was any errorfmt.Println(d.Error)//=> nil// Retriving nested buckets .n:=db.Get("city","john Doe","school","class","teacher")fmt.Println(string(n.Data)=="scientist")//=> true// Lets delete the databasedb.DeleteDatabase()}
Start with clicking the star button to make the author and his neighbors happy. Then fork it and submit a pull request for whatever change you want to be added to this project.
Or, open an issue for any questions.
Geofrey Ernestgeofreyernest@live.com
Twitter :@gernesti
This project is under the MIT License. See theLICENSE file for the full license text.