项目作者: jasonmain

项目描述 :
json + boltDB = joltDB
高级语言: Go
项目地址: git://github.com/jasonmain/joltDB.git
创建时间: 2015-10-16T03:21:06Z
项目社区:https://github.com/jasonmain/joltDB

开源协议:MIT License

下载


json + boltDB = joltDB

An api written in Go to simplify working with boltdb/bolt. JoltDB saves structs as json and retrieves the stored data as json.

Please have a look at the example.

Usage

  1. package main
  2. import (
  3. "fmt"
  4. "github.com/jasonmain/joltDB"
  5. )
  6. type User struct {
  7. ID string `json:"id"`
  8. Name string `json:"name"`
  9. Age string `json:"age"`
  10. }
  11. func main() {
  12. // Open boltDB database in working dir.
  13. // If one isn't there it will be created.
  14. joltDB.Open("./data.db")
  15. // Add some users.
  16. users := []*User{
  17. {"100", "Ken", "39"},
  18. {"101", "Max", "25"},
  19. {"102", "Bill", "23"},
  20. {"103", "Martin", "54"},
  21. {"104", "Kross", "33"},
  22. }
  23. // Save users.
  24. for _, user := range users {
  25. // With simple key
  26. if err := joltDB.Save("users", user.ID, user); err != nil {
  27. fmt.Println(err)
  28. }
  29. // With a prefixed key.
  30. if err := joltDB.Save("users", user.Name+":"+user.ID, user); err != nil {
  31. fmt.Println(err)
  32. }
  33. }
  34. // Get one user.
  35. getUser, err := joltDB.GetOne("users", "103")
  36. if err != nil {
  37. fmt.Println(err)
  38. }
  39. // Get full user list.
  40. userList, err := joltDB.List("users")
  41. if err != nil {
  42. fmt.Println(err)
  43. }
  44. // Get user list by range.
  45. userListRange, err := joltDB.ListRange("users", "101", "103")
  46. if err != nil {
  47. fmt.Println(err)
  48. }
  49. // Get user list by Prefix.
  50. userListPrefix, err := joltDB.ListPrefix("users", "K")
  51. if err != nil {
  52. fmt.Println(err)
  53. }
  54. // Print the saved user lists.
  55. fmt.Printf("\n\rGet One User:\n\r%s\n\r\n\r", getUser)
  56. fmt.Printf("Full User List:\n\r%s\n\r\n\r", userList)
  57. fmt.Printf("User List By Range:\n\r%s\n\r\n\r", userListRange)
  58. fmt.Printf("User List By Prefix:\n\r%s", userListPrefix)
  59. }