Go is in development for v1. Interested in contributing or chatting with us?Get in touch!
Go - Collection.Query.Where()
Adds a new where clause to a query, which filters the data returned.
import (
  "fmt"
  "github.com/nitrictech/go-sdk/api/documents"
  "github.com/nitrictech/go-sdk/nitric"
)
func main() {
  profiles, err := nitric.NewCollection("profiles").With(nitric.CollectionReading)
  if err != nil {
    return
  }
  query := profiles.Query().Where(
    documents.Condition("name").StartsWith(documents.StringValue("T")),
  )
  if err := nitric.Run(); err != nil {
    fmt.Println(err)
  }
}
Parameters
- Name
- expressions
- Required
- Required
- Type
- ...QueryExpression
- Description
- The query expressions. 
 
Notes
Multiple query expressions combined together are always considered AND
Examples
A simple query
import (
  "fmt"
  "github.com/nitrictech/go-sdk/api/documents"
  "github.com/nitrictech/go-sdk/nitric"
)
func main() {
  profiles, err := nitric.NewCollection("profiles").With(nitric.CollectionReading)
  if err != nil {
    return
  }
  query := profiles.Query().Where(
    documents.Condition("firstName").Eq(documents.StringValue("Drake")),
  )
  if err := nitric.Run(); err != nil {
    fmt.Println(err)
  }
}
Combining where clauses
import (
  "fmt"
  "github.com/nitrictech/go-sdk/api/documents"
  "github.com/nitrictech/go-sdk/nitric"
)
func main() {
  profiles, err := nitric.NewCollection("profiles").With(nitric.CollectionReading)
  if err != nil {
    return
  }
  query := profiles.Query().Where(
    documents.Condition("name").Eq(documents.StringValue("Drake")),
    documents.Condition("age").Gt(documents.DoubleValue(21)),
  )
  if err := nitric.Run(); err != nil {
    fmt.Println(err)
  }
}