You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.8 KiB
50 lines
1.8 KiB
// Copyright (C) MongoDB, Inc. 2017-present. |
|
// |
|
// Licensed under the Apache License, Version 2.0 (the "License"); you may |
|
// not use this file except in compliance with the License. You may obtain |
|
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 |
|
// |
|
// Based on gopkg.in/mgo.v2/bson by Gustavo Niemeyer |
|
// See THIRD-PARTY-NOTICES for original license terms. |
|
|
|
package bson // import "go.mongodb.org/mongo-driver/bson" |
|
|
|
import ( |
|
"go.mongodb.org/mongo-driver/bson/primitive" |
|
) |
|
|
|
// Zeroer allows custom struct types to implement a report of zero |
|
// state. All struct types that don't implement Zeroer or where IsZero |
|
// returns false are considered to be not zero. |
|
type Zeroer interface { |
|
IsZero() bool |
|
} |
|
|
|
// D is an ordered representation of a BSON document. This type should be used when the order of the elements matters, |
|
// such as MongoDB command documents. If the order of the elements does not matter, an M should be used instead. |
|
// |
|
// A D should not be constructed with duplicate key names, as that can cause undefined server behavior. |
|
// |
|
// Example usage: |
|
// |
|
// bson.D{{"foo", "bar"}, {"hello", "world"}, {"pi", 3.14159}} |
|
type D = primitive.D |
|
|
|
// E represents a BSON element for a D. It is usually used inside a D. |
|
type E = primitive.E |
|
|
|
// M is an unordered representation of a BSON document. This type should be used when the order of the elements does not |
|
// matter. This type is handled as a regular map[string]interface{} when encoding and decoding. Elements will be |
|
// serialized in an undefined, random order. If the order of the elements matters, a D should be used instead. |
|
// |
|
// Example usage: |
|
// |
|
// bson.M{"foo": "bar", "hello": "world", "pi": 3.14159} |
|
type M = primitive.M |
|
|
|
// An A is an ordered representation of a BSON array. |
|
// |
|
// Example usage: |
|
// |
|
// bson.A{"bar", "world", 3.14159, bson.D{{"qux", 12345}}} |
|
type A = primitive.A
|
|
|