1
votes

Comment obtenir la taille d'une collection par mongo-go-driver

J'ai besoin d'obtenir la taille de la collection de bases de données mongo.
Le projet est écrit en golang en utilisant mongo-go-driver .


0 commentaires

3 Réponses :


0
votes

dans mongodb

db.getCollection('collection').find({}).count()


0 commentaires

3
votes

Il existe deux méthodes pour vérifier cela

La méthode exacte avec CountDocuments

count, err := client.Database("webshop").Collection("products").EstimatedDocumentCount(context.Background())

et estimation avec EstimatedDocumentCount

count, err := client.Database("webshop").Collection("products").CountDocuments(context.Background(), bson.D{})


0 commentaires

3
votes

J'ai besoin d'obtenir la taille de la collection de base de données mongo.

Vous pouvez obtenir diverses statistiques de stockage de la collection MongoDB en utilisant commande collStats . Vous pouvez utiliser Database.RunCommand pour exécuter des commandes de base de données avec pilote MongoDB Go . Par exemple:

db := client.Database("databaseName")

result := db.RunCommand(context.Background(), bson.M{"collStats":"collectionname"})

var document bson.M
err = result.Decode(&document)

if err !=nil {
    panic(err)
}

fmt.Printf("Collection size: %v Bytes\n", document["size"])
fmt.Printf("Average object size: %v Bytes\n", document["avgObjSize"])
fmt.Printf("Storage size: %v Bytes\n", document["storageSize"])
fmt.Printf("Total index size: %v Bytes\n", document["totalIndexSize"])

L'exemple ci-dessus n'imprime que 4 informations relatives à votre question. Cependant, il y a plus d'informations renvoyées par collStats , vous pouvez voir plus d'informations sur Exemple de recherche de statistiques de base . Vous pouvez également spécifier le paramètre scale pour changer les octets en kilo-octets, voir Recherche de statistiques avec échelle .

Notez que l'exemple ci-dessus est écrit avec mongo-go-driver v1.1.x.


0 commentaires