Код под комментарием «Запрос документов с переменными связывания» не дает ожидаемого количества записей 1.
import (
"fmt"
driver "github.com/arangodb/go-driver"
"github.com/arangodb/go-driver/http"
"context"
)
type Book struct {
Title string `json:"title"`
NoPages int `json:"no_pages"`
}
func main() {
conn, err := http.NewConnection(http.ConnectionConfig {
Endpoints: []string{"http://root@localhost:8529"},
})
if err != nil { panic(err) }
c, err := driver.NewClient(driver.ClientConfig{
Connection: conn,
})
// Open "examples_books" database
db, err := c.Database(nil, "examples_books")
if err != nil { panic(err) }
// Open "books" collection
col, err := db.Collection(nil, "books")
if err != nil { panic(err) }
// Create document
book := Book{
Title: "ArangoDB Cookbook",
NoPages: 257,
}
meta, err := col.CreateDocument(nil, book)
if err != nil { panic(err) }
fmt.Printf("Created document in collection '%s' in database
'%s'\n", col.Name(), db.Name())
// Read the document back
var result Book
if _, err := col.ReadDocument(nil, meta.Key, &result); err != nil
{ panic(err)}
fmt.Printf("Read book '%+v'\n", result)
//Querying documents with bind variables
ctx := context.Background()
query := "FOR d IN books FILTER d.NoPages == @noPages RETURN d"
bindVars := map[string]interface{}{
"noPages": 257,
}
cursor, err := db.Query(ctx, query, bindVars)
if err != nil {
panic(err)
}
defer cursor.Close()
resultCount := cursor.Count()
fmt.Printf("Number of records = %+v\n", resultCount)
}
Go версия 1.13.7; ArangoDB 3.6.1, MacOS Catalina 10.15.3