| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | package moimport (	"go.mongodb.org/mongo-driver/bson")type convert struct{}func (c convert) M(d D) M {	m, _ := c.ME(d)	return m}func (c convert) D(m M) D {	d, _ := c.DE(m)	return d}func (c convert) ME(d D) (M, error) {	b, err := bson.Marshal(d)	if err != nil {		return M{}, err	}	var m M	if err = bson.Unmarshal(b, &m); err != nil {		return M{}, err	}	return m, nil}func (c convert) DE(m M) (D, error) {	b, err := bson.Marshal(m)	if err != nil {		return D{}, err	}	var d D	if err = bson.Unmarshal(b, &d); err != nil {		return D{}, err	}	return d, nil}var (	// Convert 将 D 转换为 M, 或将 M 转换为 D	// MongoDB Go Driver 2.0 不支持直接从 D 转换为 M. 所以, 用户应该使用 bson.Marshal 将 D 编组为 BSON, 并使用 bson.Unmarshal 将其解编为 M.	Convert = convert{})
 |