add golang one snippet intro to root README
authorMarvin Killing <marvinkilling@gmail.com>
Sat, 13 Jul 2013 13:16:20 +0000 (15:16 +0200)
committerMarvin Killing <marvinkilling@gmail.com>
Sat, 13 Jul 2013 13:16:20 +0000 (15:16 +0200)
README.md
goejdb/README

index 3aa0be0..5b68f3f 100644 (file)
--- a/README.md
+++ b/README.md
@@ -715,6 +715,63 @@ db:close()
 * **[Lua binding](https://github.com/Softmotions/ejdb/blob/master/luaejdb/README.md)**
 
 
+EJDB Go binding
+==================================
+
+One snippet intro
+-----------------------------------
+
+~~~~~~
+package ejdbtutorial
+
+import (
+    "fmt"
+    "github.com/mkilling/ejdb/goejdb"
+    "labix.org/v2/mgo/bson"
+    "os"
+)
+
+func main() {
+    // Create a new database file and open it
+    jb, err := goejdb.Open("addressbook", JBOWRITER | JBOCREAT | JBOTRUNC)
+    if err != nil {
+        os.Exit(1)
+    }
+    // Get or create collection 'contacts'
+    coll, _ := jb.CreateColl("contacts", nil)
+
+    // Insert one record:
+    // JSON: {'name' : 'Bruce', 'phone' : '333-222-333', 'age' : 58}
+    rec := map[string]interface{} {"name" : "Bruce", "phone" : "333-222-333", "age" : 58}
+    bsrec, _ := bson.Marshal(rec)
+    coll.SaveBson(bsrec)
+    fmt.Printf("\nSaved Bruce")
+
+    // Now execute query
+    res, _ := coll.Find(`{"name" : {"$begin" : "Bru"}}`) // Name starts with 'Bru' string
+    fmt.Printf("\n\nRecords found: %d\n", len(res))
+
+    // Now print the result set records
+    for _, bs := range res {
+        var m map[string]interface{}
+        bson.Unmarshal(bs, &m)
+        fmt.Println(m)
+    }
+
+    // Close database
+    jb.Close()
+}
+~~~~~~
+
+You can save this code in `ejdbtutorial.go` And build:
+
+
+```sh
+go build ejdbtutorial.go
+./ejdbtutorial
+```
+
+
 EJDB C Library
 ==================================
 
index 6c37f76..bf0cb26 100644 (file)
@@ -1,4 +1,4 @@
-EJDB Go Library
+EJDB Go binding
 ==================================
 
 One snippet intro