go get github.com/morteza-r/flexytype User struct {
    Id      float64 `json:"id"`
    Name    string  `json:"name"`
    Family  string  `json:"family"`
    Active  bool    `json:"active"`
    Account Account `json:"account"`
}
type Account struct {
    Name   string   `json:"name"`
    Credit int64    `json:"credit"`
    Tags   []string `json:"tags"`
}user := User{
    Id:       1,
    Name:     "morteza",
    Family:   "rostami",
    Active:   false,
    Account:  Account{
      Credit: 1200,
    },
}
err := client.Query().
    Table("users").
    Model(&user).
    Add()
if err != nil {
    fmt.Println(err)
}user := User{
    Id:       1,
}
_, ok := client.Query().
    Table("users").
    Model(&user).
    Exist()
fmt.Println(ok)Only provided fields will update. In this example only active field will update to true and other fields will remain same.
user := User{
    Id:       1,
    Active:   true,
}
err := client.Query().
    Table("users").
    Model(&user).
    Update()
if err != nil {
    fmt.Println(err)
}
fmt.Println(user)The new doc will replace old one.
user := User{
    Id:       1,
    Name:     "morteza",
    Family:   "rostami",
    Active:   false,
    Account:  Account{
      Credit: 1200,
    },
}
err := client.Query().
    Table("users").
    Model(&user).
    Replace()
if err != nil {
    fmt.Println(err)
}user := User{
    Id: 1,
}
err := client.Query().
    Table("users").
    Model(&user).
    Get()
if err != nil {
    fmt.Println(err)
}
fmt.Println(user)var users []User
err := client.Query().
    Table("users").
    Model(&users).
    Where("account.credit", "==", 1200).
    OrderString("family").
    Get()
    
if err != nil {
    fmt.Println(err)
}
fmt.Println(users)user := User{
    Id: 1,
}
err := client.Query().
    Table("users").
    Model(&user).
    Get()
if err != nil {
    fmt.Println(err)
}