diff --git a/README.md b/README.md index 67517b7..dc52351 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,8 @@ if err := db.Write("fish", "onefish", fish); err != nil { } // Read a fish from the database (passing fish by reference) -fish := []Fish{} -if err := db.Read("fish", "onefish", &fish); err != nil { +onefish := Fish{} +if err := db.Read("fish", "onefish", &onefish); err != nil { fmt.Println("Error", err) } @@ -35,9 +35,13 @@ if err != nil { fmt.Println("Error", err) } -fish := []Fish{} -if err := json.Unmarshal([]byte(records), &fish); err != nil { - fmt.Println("Error", err) +fishies := []Fish{} +for _, f := range records { + fishFound := Fish{} + if err := json.Unmarshal([]byte(f), &fishFound); err != nil { + fmt.Println("Error", err) + } + fishies = append(fishies, fishFound) } // Delete a fish from the database diff --git a/example/fishing.go b/example/fishing.go new file mode 100644 index 0000000..302df2d --- /dev/null +++ b/example/fishing.go @@ -0,0 +1,58 @@ +package main + +import ( + "encoding/json" + "fmt" + + scribble "github.com/nanobox-io/golang-scribble" +) + +// a fish +type Fish struct{ Name string } + +func main() { + + dir := "./" + + db, err := scribble.New(dir, nil) + if err != nil { + fmt.Println("Error", err) + } + + // Write a fish to the database + for _, name := range []string{"onefish", "twofish", "redfish", "bluefish"} { + db.Write("fish", name, Fish{Name: name}) + } + + // Read a fish from the database (passing fish by reference) + onefish := Fish{} + if err := db.Read("fish", "onefish", &onefish); err != nil { + fmt.Println("Error", err) + } + + // Read all fish from the database, unmarshaling the response. + records, err := db.ReadAll("fish") + if err != nil { + fmt.Println("Error", err) + } + + fishies := []Fish{} + for _, f := range records { + fishFound := Fish{} + if err := json.Unmarshal([]byte(f), &fishFound); err != nil { + fmt.Println("Error", err) + } + fishies = append(fishies, fishFound) + } + + // // Delete a fish from the database + // if err := db.Delete("fish", "onefish"); err != nil { + // fmt.Println("Error", err) + // } + // + // // Delete all fish from the database + // if err := db.Delete("fish", ""); err != nil { + // fmt.Println("Error", err) + // } + +}