Handle both bson.D and bson.M on Find results
This commit is contained in:
20
find.go
20
find.go
@@ -60,8 +60,14 @@ func (c *MongoClient) Find(ctx context.Context, database, name string, filter bs
|
||||
|
||||
var totalValue any
|
||||
if len(metadata) != 0 {
|
||||
metadataRoot := metadata[0].(bson.D)
|
||||
totalValue, _ = commons.BsonDGetAny(metadataRoot, "total")
|
||||
switch metadata[0].(type) {
|
||||
case bson.D:
|
||||
metadataRoot := metadata[0].(bson.D)
|
||||
totalValue, _ = commons.BsonDGetAny(metadataRoot, "total")
|
||||
case bson.M:
|
||||
metadataRoot := metadata[0].(bson.M)
|
||||
totalValue = metadataRoot["total"]
|
||||
}
|
||||
}
|
||||
|
||||
var total int64
|
||||
@@ -148,8 +154,14 @@ func (c *MongoClient) FindOffset(ctx context.Context, database, name string, fil
|
||||
|
||||
var totalValue any
|
||||
if len(metadata) != 0 {
|
||||
metadataRoot := metadata[0].(bson.D)
|
||||
totalValue, _ = commons.BsonDGetAny(metadataRoot, "total")
|
||||
switch metadata[0].(type) {
|
||||
case bson.D:
|
||||
metadataRoot := metadata[0].(bson.D)
|
||||
totalValue, _ = commons.BsonDGetAny(metadataRoot, "total")
|
||||
case bson.M:
|
||||
metadataRoot := metadata[0].(bson.M)
|
||||
totalValue = metadataRoot["total"]
|
||||
}
|
||||
}
|
||||
|
||||
var total int64
|
||||
|
||||
Reference in New Issue
Block a user