firebase.go
func (c *Client) Update(path string, value interface{}, params map[string]string) error {
	body, err := json.Marshal(value)
	if err != nil {
		log.Printf("%v\n", err)
		return err
	}

	_, err = c.api.Call("PATCH", c.Url+"/"+path, c.Auth, body, params)

	// if we've just updated the root node, clear the value so it gets looked up
	// again and populated correctly since we just applied a diffgram
	if len(path) == 0 {
		c.value = nil
	}

	return err
}
func (c *Client) Update(path string, value interface{}, params map[string]string) error {
	body, err := json.Marshal(value)
	if err != nil {
		log.Printf("%v\n", err)
		return err
	}

	_, err = c.api.Call("PATCH", c.Url+"/"+path, c.Auth, body, params)

	// if we've just updated the root node, clear the value so it gets looked up
	// again and populated correctly since we just applied a diffgram
	if len(path) == 0 {
		c.value = nil
	}

	return err
}
// Update performs a partial update with the given value at the specified path.