Documentation ¶
Overview ¶
Package primitive contains types similar to Go primitives for BSON types can do not have direct Go primitive representations.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidHex = errors.New("the provided hex string is not a valid ObjectID")
ErrInvalidHex indicates that a hex string cannot be converted to an ObjectID.
Functions ¶
This section is empty.
Types ¶
type A ¶
type A []interface{}
An A represents a BSON array. This type can be used to represent a BSON array in a concise and readable manner. It should generally be used when serializing to BSON. For deserializing, the RawArray or Array types should be used.
Example usage:
primitive.A{"bar", "world", 3.14159, primitive.D{{"qux", 12345}}}
type CodeWithScope ¶
type CodeWithScope struct { Code JavaScript Scope interface{} }
CodeWithScope represents a BSON JavaScript code with scope value.
func (CodeWithScope) String ¶
func (cws CodeWithScope) String() string
type D ¶
type D []E
D represents a BSON Document. This type can be used to represent BSON in a concise and readable manner. It should generally be used when serializing to BSON. For deserializing, the Raw or Document types should be used.
Example usage:
primitive.D{{"foo", "bar"}, {"hello", "world"}, {"pi", 3.14159}}
This type should be used in situations where order matters, such as MongoDB commands. If the order is not important, a map is more comfortable and concise.
type DBPointer ¶
DBPointer represents a BSON dbpointer value.
type Decimal128 ¶
type Decimal128 struct {
// contains filtered or unexported fields
}
Decimal128 holds decimal128 BSON values.
func NewDecimal128 ¶
func NewDecimal128(h, l uint64) Decimal128
NewDecimal128 creates a Decimal128 using the provide high and low uint64s.
func ParseDecimal128 ¶
func ParseDecimal128(s string) (Decimal128, error)
ParseDecimal128 takes the given string and attempts to parse it into a valid Decimal128 value.
func (Decimal128) GetBytes ¶
func (d Decimal128) GetBytes() (uint64, uint64)
GetBytes returns the underlying bytes of the BSON decimal value as two uint16 values. The first contains the most first 8 bytes of the value and the second contains the latter.
func (Decimal128) String ¶
func (d Decimal128) String() string
String returns a string representation of the decimal value.
type E ¶
type E struct { Key string Value interface{} }
E represents a BSON element for a D. It is usually used inside a D.
type M ¶
type M map[string]interface{}
M is an unordered, concise representation of a BSON Document. It should generally be used to serialize BSON when the order of the elements of a BSON document do not matter. If the element order matters, use a D instead.
Example usage:
primitive.M{"foo": "bar", "hello": "world", "pi": 3.14159}
This type is handled in the encoders as a regular map[string]interface{}. The elements will be serialized in an undefined, random order, and the order will be different each time.
type ObjectID ¶
type ObjectID [12]byte
ObjectID is the BSON ObjectID type.
var NilObjectID ObjectID
NilObjectID is the zero value for ObjectID.
func ObjectIDFromHex ¶
ObjectIDFromHex creates a new ObjectID from a hex string. It returns an error if the hex string is not a valid ObjectID.
func (ObjectID) MarshalJSON ¶
MarshalJSON returns the ObjectID as a string
func (*ObjectID) UnmarshalJSON ¶
UnmarshalJSON populates the byte slice with the ObjectID. If the byte slice is 64 bytes long, it will be populated with the hex representation of the ObjectID. If the byte slice is twelve bytes long, it will be populated with the BSON representation of the ObjectID. Otherwise, it will return an error.
type Regex ¶
Regex represents a BSON regex value.