ChristopherHesse

RethinkGo: Go RethinkDB Driver

imageimage

I have made a Go language driver for RethinkDB, called rethinkgo.  RethinkDB is a MongoDB-like database that has some neat features and is ridiculously easy to scale.

rethinkgo is very similar to the existing RethinkDB drivers, and it even has GoDoc documentation!

Unlike the other drivers, rethinkgo has a connection pool and is goroutine-safe, so you can run your queries in parallel.  You also get the advantages of static typing and the speed of Go.

package main

import (
    "fmt"
    r "github.com/christopherhesse/rethinkgo"
)

type Employee struct {
	Name  string `json:"name"`
	Title string `json:"title"`
}

func main() {
	session, err := r.Connect("localhost:28015", "test")

	var employees []Employee
	err = r.Table("employees").Run(session).Collect(&employees)

	if err != nil {
		fmt.Println("err", err)
		return
	}

	for _, employee := range employees {
		fmt.Println("employee:", employee)
	}
}
Instructable for a ridiculously heavy table.

Instructable for a ridiculously heavy table.