1.修改代码适配阿里云的服务器
This commit is contained in:
286
server/vendor/go.mongodb.org/mongo-driver/v2/mongo/results.go
generated
vendored
Normal file
286
server/vendor/go.mongodb.org/mongo-driver/v2/mongo/results.go
generated
vendored
Normal file
@@ -0,0 +1,286 @@
|
||||
// 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
|
||||
|
||||
package mongo
|
||||
|
||||
import (
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
"go.mongodb.org/mongo-driver/v2/mongo/options"
|
||||
"go.mongodb.org/mongo-driver/v2/x/bsonx/bsoncore"
|
||||
"go.mongodb.org/mongo-driver/v2/x/mongo/driver/operation"
|
||||
)
|
||||
|
||||
// ClientBulkWriteResult is the result type returned by a client-level BulkWrite operation.
|
||||
type ClientBulkWriteResult struct {
|
||||
// The number of documents inserted.
|
||||
InsertedCount int64
|
||||
|
||||
// The number of documents matched by filters in update and replace operations.
|
||||
MatchedCount int64
|
||||
|
||||
// The number of documents modified by update and replace operations.
|
||||
ModifiedCount int64
|
||||
|
||||
// The number of documents deleted.
|
||||
DeletedCount int64
|
||||
|
||||
// The number of documents upserted by update and replace operations.
|
||||
UpsertedCount int64
|
||||
|
||||
// A map of operation index to the _id of each inserted document.
|
||||
InsertResults map[int]ClientBulkWriteInsertResult
|
||||
|
||||
// A map of operation index to the _id of each updated document.
|
||||
UpdateResults map[int]ClientBulkWriteUpdateResult
|
||||
|
||||
// A map of operation index to the _id of each deleted document.
|
||||
DeleteResults map[int]ClientBulkWriteDeleteResult
|
||||
|
||||
// Operation performed with an acknowledged write. Values for other fields may
|
||||
// not be deterministic if the write operation was unacknowledged.
|
||||
Acknowledged bool
|
||||
|
||||
// HasVerboseResults indicates whether this result contains verbose results.
|
||||
HasVerboseResults bool
|
||||
}
|
||||
|
||||
// ClientBulkWriteInsertResult is the result type returned by a client-level bulk write of InsertOne operation.
|
||||
type ClientBulkWriteInsertResult struct {
|
||||
// The _id of the inserted document. A value generated by the driver will be of type primitive.ObjectID.
|
||||
InsertedID any
|
||||
}
|
||||
|
||||
// ClientBulkWriteUpdateResult is the result type returned from a client-level bulk write of UpdateOne, UpdateMany, and ReplaceOne operation.
|
||||
type ClientBulkWriteUpdateResult struct {
|
||||
MatchedCount int64 // The number of documents matched by the filter.
|
||||
ModifiedCount int64 // The number of documents modified by the operation.
|
||||
UpsertedID any // The _id field of the upserted document, or nil if no upsert was done.
|
||||
}
|
||||
|
||||
// ClientBulkWriteDeleteResult is the result type returned by a client-level bulk write DeleteOne and DeleteMany operation.
|
||||
type ClientBulkWriteDeleteResult struct {
|
||||
DeletedCount int64 // The number of documents deleted.
|
||||
}
|
||||
|
||||
// BulkWriteResult is the result type returned by a BulkWrite operation.
|
||||
type BulkWriteResult struct {
|
||||
// The number of documents inserted.
|
||||
InsertedCount int64
|
||||
|
||||
// The number of documents matched by filters in update and replace operations.
|
||||
MatchedCount int64
|
||||
|
||||
// The number of documents modified by update and replace operations.
|
||||
ModifiedCount int64
|
||||
|
||||
// The number of documents deleted.
|
||||
DeletedCount int64
|
||||
|
||||
// The number of documents upserted by update and replace operations.
|
||||
UpsertedCount int64
|
||||
|
||||
// A map of operation index to the _id of each upserted document.
|
||||
UpsertedIDs map[int64]any
|
||||
|
||||
// Operation performed with an acknowledged write. Values for other fields may
|
||||
// not be deterministic if the write operation was unacknowledged.
|
||||
Acknowledged bool
|
||||
}
|
||||
|
||||
// InsertOneResult is the result type returned by an InsertOne operation.
|
||||
type InsertOneResult struct {
|
||||
// The _id of the inserted document. A value generated by the driver will be of type bson.ObjectID.
|
||||
InsertedID any
|
||||
|
||||
// Operation performed with an acknowledged write. Values for other fields may
|
||||
// not be deterministic if the write operation was unacknowledged.
|
||||
Acknowledged bool
|
||||
}
|
||||
|
||||
// InsertManyResult is a result type returned by an InsertMany operation.
|
||||
type InsertManyResult struct {
|
||||
// The _id values of the inserted documents. Values generated by the driver will be of type bson.ObjectID.
|
||||
InsertedIDs []any
|
||||
|
||||
// Operation performed with an acknowledged write. Values for other fields may
|
||||
// not be deterministic if the write operation was unacknowledged.
|
||||
Acknowledged bool
|
||||
}
|
||||
|
||||
// TODO(GODRIVER-2367): Remove the BSON struct tags on DeleteResult.
|
||||
|
||||
// DeleteResult is the result type returned by DeleteOne and DeleteMany operations.
|
||||
type DeleteResult struct {
|
||||
DeletedCount int64 // The number of documents deleted.
|
||||
|
||||
// Operation performed with an acknowledged write. Values for other fields may
|
||||
// not be deterministic if the write operation was unacknowledged.
|
||||
Acknowledged bool
|
||||
}
|
||||
|
||||
// RewrapManyDataKeyResult is the result of the bulk write operation used to update the key vault collection with
|
||||
// rewrapped data keys.
|
||||
type RewrapManyDataKeyResult struct {
|
||||
*BulkWriteResult
|
||||
}
|
||||
|
||||
// ListDatabasesResult is a result of a ListDatabases operation.
|
||||
type ListDatabasesResult struct {
|
||||
// A slice containing one DatabaseSpecification for each database matched by the operation's filter.
|
||||
Databases []DatabaseSpecification
|
||||
|
||||
// The total size of the database files of the returned databases in bytes.
|
||||
// This will be the sum of the SizeOnDisk field for each specification in Databases.
|
||||
TotalSize int64
|
||||
}
|
||||
|
||||
func newListDatabasesResultFromOperation(res operation.ListDatabasesResult) ListDatabasesResult {
|
||||
var ldr ListDatabasesResult
|
||||
ldr.Databases = make([]DatabaseSpecification, 0, len(res.Databases))
|
||||
for _, spec := range res.Databases {
|
||||
ldr.Databases = append(
|
||||
ldr.Databases,
|
||||
DatabaseSpecification{Name: spec.Name, SizeOnDisk: spec.SizeOnDisk, Empty: spec.Empty},
|
||||
)
|
||||
}
|
||||
ldr.TotalSize = res.TotalSize
|
||||
return ldr
|
||||
}
|
||||
|
||||
// DatabaseSpecification contains information for a database. This type is returned as part of ListDatabasesResult.
|
||||
type DatabaseSpecification struct {
|
||||
Name string // The name of the database.
|
||||
SizeOnDisk int64 // The total size of the database files on disk in bytes.
|
||||
Empty bool // Specifies whether or not the database is empty.
|
||||
}
|
||||
|
||||
// UpdateResult is the result type returned from UpdateOne, UpdateMany, and ReplaceOne operations.
|
||||
type UpdateResult struct {
|
||||
MatchedCount int64 // The number of documents matched by the filter.
|
||||
ModifiedCount int64 // The number of documents modified by the operation.
|
||||
UpsertedCount int64 // The number of documents upserted by the operation.
|
||||
UpsertedID any // The _id field of the upserted document, or nil if no upsert was done.
|
||||
|
||||
// Operation performed with an acknowledged write. Values for other fields may
|
||||
// not be deterministic if the write operation was unacknowledged.
|
||||
Acknowledged bool
|
||||
}
|
||||
|
||||
// IndexSpecification represents an index in a database. This type is returned by the IndexView.ListSpecifications
|
||||
// function and is also used in the CollectionSpecification type.
|
||||
type IndexSpecification struct {
|
||||
// The index name.
|
||||
Name string
|
||||
|
||||
// The namespace for the index. This is a string in the format "databaseName.collectionName".
|
||||
Namespace string
|
||||
|
||||
// The keys specification document for the index.
|
||||
KeysDocument bson.Raw
|
||||
|
||||
// The index version.
|
||||
Version int32
|
||||
|
||||
// The length of time, in seconds, for documents to remain in the collection. The default value is 0, which means
|
||||
// that documents will remain in the collection until they're explicitly deleted or the collection is dropped.
|
||||
ExpireAfterSeconds *int32
|
||||
|
||||
// If true, the index will only reference documents that contain the fields specified in the index. The default is
|
||||
// false.
|
||||
Sparse *bool
|
||||
|
||||
// If true, the collection will not accept insertion or update of documents where the index key value matches an
|
||||
// existing value in the index. The default is false.
|
||||
Unique *bool
|
||||
|
||||
// The clustered index.
|
||||
Clustered *bool
|
||||
}
|
||||
|
||||
type indexListSpecificationResponse struct {
|
||||
Name string `bson:"name"`
|
||||
Namespace string `bson:"ns"`
|
||||
KeysDocument bson.Raw `bson:"key"`
|
||||
Version int32 `bson:"v"`
|
||||
ExpireAfterSeconds *int32 `bson:"expireAfterSeconds"`
|
||||
Sparse *bool `bson:"sparse"`
|
||||
Unique *bool `bson:"unique"`
|
||||
Clustered *bool `bson:"clustered"`
|
||||
}
|
||||
|
||||
// CollectionSpecification represents a collection in a database. This type is returned by the
|
||||
// Database.ListCollectionSpecifications function.
|
||||
type CollectionSpecification struct {
|
||||
// The collection name.
|
||||
Name string
|
||||
|
||||
// The type of the collection. This will either be "collection" or "view".
|
||||
Type string
|
||||
|
||||
// Whether or not the collection is readOnly.
|
||||
ReadOnly bool
|
||||
|
||||
// The collection UUID as a bson.Binary with subtype 4.
|
||||
UUID *bson.Binary
|
||||
|
||||
// A document containing the options used to construct the collection.
|
||||
Options bson.Raw
|
||||
|
||||
// An IndexSpecification instance with details about the collection's _id index.
|
||||
IDIndex IndexSpecification
|
||||
}
|
||||
|
||||
// DistinctResult represents an array of BSON data returned from an operation.
|
||||
// If the operation resulted in an error, all DistinctResult methods will return
|
||||
// that error. If the operation did not return any data, all DistinctResult
|
||||
// methods will return ErrNoDocuments.
|
||||
type DistinctResult struct {
|
||||
err error
|
||||
arr bson.RawArray
|
||||
reg *bson.Registry
|
||||
bsonOpts *options.BSONOptions
|
||||
}
|
||||
|
||||
// Decode will unmarshal the array represented by this DistinctResult into v. If
|
||||
// there was an error from the operation that created this DistinctReuslt, that
|
||||
// error will be returned. If the operation returned no array, Decode will
|
||||
// return ErrNoDocuments.
|
||||
//
|
||||
// If the operation was successful and returned an array, Decode will return any
|
||||
// errors from the unmarshalling process without any modification. If v is nil
|
||||
// or is a typed nil, an error will be returned.
|
||||
func (dr *DistinctResult) Decode(v any) error {
|
||||
doc := bsoncore.NewDocumentBuilder().
|
||||
AppendValue("arr", bsoncore.Value{
|
||||
Type: bsoncore.TypeArray,
|
||||
Data: dr.arr,
|
||||
}).Build()
|
||||
|
||||
dec := getDecoder(doc, dr.bsonOpts, dr.reg)
|
||||
|
||||
return dec.Decode(&struct{ Arr any }{Arr: v})
|
||||
}
|
||||
|
||||
// Err provides a way to check for query errors without calling Decode. Err
|
||||
// returns the error, if any, that was encountered while running the operation.
|
||||
// If the operation was successful but did not return any documents, Err returns
|
||||
// ErrNoDocuments. If this error is not nil, this error will also be returned
|
||||
// from Decode.
|
||||
func (dr *DistinctResult) Err() error {
|
||||
return dr.err
|
||||
}
|
||||
|
||||
// Raw returns the document represented by this DistinctResult as a bson.Raw. If
|
||||
// there was an error from the operation that created this DistinctResult, both
|
||||
// the result and that error will be returned. If the operation returned no
|
||||
// documents, this will return (nil, ErrNoDocuments).
|
||||
func (dr *DistinctResult) Raw() (bson.RawArray, error) {
|
||||
if dr.err != nil {
|
||||
return nil, dr.err
|
||||
}
|
||||
|
||||
return dr.arr, nil
|
||||
}
|
||||
Reference in New Issue
Block a user