func (db *Database) NewBulkDocument() *BulkDocument {
	b := &BulkDocument{}
	b.db = db
	return b
}
NewBulkDocument New BulkDocument instance
package couchdb
import (
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
	"reflect"
	"strconv"
)
type bulkDoc struct {
	_id      string
	_rev     string
	_deleted bool
	doc      interface{}
}
func (b bulkDoc) MarshalJSON() ([]byte, error) {
	out := make(map[string]interface{})
	if !b._deleted {
		bValue := reflect.Indirect(reflect.ValueOf(b.doc))
		bType := bValue.Type()
		for i := 0; i < bType.NumField(); i++ {
			field := bType.Field(i)
			name := bType.Field(i).Name
			jsonKey := field.Tag.Get("json")
			if jsonKey == "" {
				jsonKey = name
			}
			out[jsonKey] = bValue.FieldByName(name).Interface()
		}
	} else {
		out["_deleted"] = true
	}
	out["_id"] = b._id
	if b._rev != "" {
		out["_rev"] = b._rev
	}
	return json.Marshal(out)
}
type BulkDocument struct {
	docs   []bulkDoc
	db     *Database
	closed bool
}