All Projects → fauna → Faunadb Go

fauna / Faunadb Go

Licence: other
Go driver for FaunaDB

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Faunadb Go

Faunadb Js
Javascript driver for FaunaDB
Stars: ✭ 498 (+255.71%)
Mutual labels:  database, driver, drivers, client
Faunadb Jvm
Scala and Java driver for FaunaDB
Stars: ✭ 50 (-64.29%)
Mutual labels:  database, driver, drivers, client
Faunadb Python
Python driver for FaunaDB
Stars: ✭ 75 (-46.43%)
Mutual labels:  database, driver, drivers, client
Cdrs
Cassandra DB native client written in Rust language. Find 1.x versions on https://github.com/AlexPikalov/cdrs/tree/v.1.x Looking for an async version? - Check WIP https://github.com/AlexPikalov/cdrs-async
Stars: ✭ 314 (+124.29%)
Mutual labels:  database, driver, client
Csharp Driver
DataStax C# Driver for Apache Cassandra
Stars: ✭ 477 (+240.71%)
Mutual labels:  database, driver, client
Postgres
Postgres.js - The Fastest full featured PostgreSQL client for Node.js
Stars: ✭ 2,193 (+1466.43%)
Mutual labels:  database, driver, client
Nodejs Driver
DataStax Node.js Driver for Apache Cassandra
Stars: ✭ 1,074 (+667.14%)
Mutual labels:  database, driver, client
Gocql
Package gocql implements a fast and robust Cassandra client for the Go programming language.
Stars: ✭ 2,182 (+1458.57%)
Mutual labels:  database, driver, client
Biota
A simple database framework for Fauna
Stars: ✭ 54 (-61.43%)
Mutual labels:  database, driver, client
Arangojs
The official ArangoDB JavaScript driver.
Stars: ✭ 503 (+259.29%)
Mutual labels:  database, driver
Clickhouse Driver
ClickHouse Python Driver with native interface support
Stars: ✭ 562 (+301.43%)
Mutual labels:  database, driver
Mongo Cxx Driver
C++ Driver for MongoDB
Stars: ✭ 792 (+465.71%)
Mutual labels:  database, driver
Reactivemongo
🍃 Non-blocking, Reactive MongoDB Driver for Scala
Stars: ✭ 825 (+489.29%)
Mutual labels:  database, driver
Clj Odbp
A Clojure driver for OrientDB binary protocol
Stars: ✭ 31 (-77.86%)
Mutual labels:  database, driver
Couchdb Net
EF Core-like CouchDB experience for .NET!
Stars: ✭ 50 (-64.29%)
Mutual labels:  database, driver
Neo4j Javascript Driver
Neo4j Bolt driver for JavaScript
Stars: ✭ 674 (+381.43%)
Mutual labels:  database, driver
Ruby Pg
A PostgreSQL client library for Ruby
Stars: ✭ 446 (+218.57%)
Mutual labels:  database, client
Qmgo
Qmgo - The Go driver for MongoDB. It‘s based on official mongo-go-driver but easier to use like Mgo.
Stars: ✭ 444 (+217.14%)
Mutual labels:  database, driver
Rtl88x2bu wifi linux v5.2.4.4 26334.20180126 coex20171012 5044
rtl88x2bu driver updated for modern kernels.
Stars: ✭ 55 (-60.71%)
Mutual labels:  driver, drivers
Hasql
Performant PostgreSQL driver with a flexible mapping API
Stars: ✭ 415 (+196.43%)
Mutual labels:  database, driver

FaunaDB Go Driver

Go Report Card GoDoc License

A Go lang driver for FaunaDB.

Supported Go Versions

Currently, the driver is tested on:

  • 1.11
  • 1.12
  • 1.13
  • 1.14

Using the Driver

Installing

To get the latest version run:

go get github.com/fauna/faunadb-go/v3/faunadb

Please note that our driver undergoes breaking changes from time to time, so depending on our master branch is not recommended. It is recommended to use one of the following methods instead:

Importing

For better usage, we recommend that you import this driver with an alias import.

Using dep or go get

To import a specific version when using go get, use:

import f "github.com/fauna/faunadb-go/v3/faunadb"

Basic Usage

package main

import (
	"fmt"

	f "github.com/fauna/faunadb-go/v3/faunadb"
)

type User struct {
	Name string `fauna:"name"`
}

func main() {
	client := f.NewFaunaClient("your-secret-here")

	res, err := client.Query(f.Get(f.Ref(f.Collection("user"), "42")))
	if err != nil {
		panic(err)
	}

	var user User

	if err := res.At(f.ObjKey("data")).Get(&user); err != nil {
		panic(err)
	}

	fmt.Println(user)
}

For more information about FaunaDB query language, consult our query language reference documentation.

Specific reference documentation for the driver is hosted at GoDoc.

Most users found tests for the driver as a very useful form of documentation Check it out here.

Contributing

GitHub pull requests are very welcome.

Driver Development

Run go get -t ./... in order to install project's dependencies.

Run tests against FaunaDB Cloud by passing your root database key to the test suite, as follows: FAUNA_ROOT_KEY="your-cloud-secret" go test ./....

If you have access to another running FaunaDB database, use the FAUNA_ENDPOINT environment variable to specify its URI.

Alternatively, tests can be run via a Docker container with FAUNA_ROOT_KEY="your-cloud-secret" make docker-test (an alternate Debian-based Go image can be provided via RUNTIME_IMAGE).

Tip: Setting the FAUNA_QUERY_TIMEOUT_MS environment variable will set a timeout in milliseconds for all queries.

LICENSE

Copyright 2020 Fauna, Inc.

Licensed under the Mozilla Public License, Version 2.0 (the "License"); you may not use this software except in compliance with the License. You may obtain a copy of the License at

http://mozilla.org/MPL/2.0/

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].