1.1.14 • Published 9 months ago

mongomath v1.1.14

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

mongomath

Documentation en ligne : https://galaxy-docs.mongomath.com https://account.mongodb.com/account/

Introduction

Le module mongomath fait partie du projet Galaxy, un ensemble de projets visant à fournir des outils performants pour le développement. mongomath est un outil d'analyse statistique de données MongoDB, conçu pour aider les développeurs à obtenir des statistiques avancées sur leurs collections de données.

Si vous souhaitez contribuer au projet, contactez-nous à b.galaxy.dev@gmail.com.


Fonctionnalité de selfloading

Chaque fonction du module mongomath prend un paramètre selfloading, un booléen qui contrôle la gestion automatique de la connexion à la base de données.

  • selfloading = true : La connexion est automatiquement établie et fermée à chaque appel de fonction.
  • selfloading = false : L'utilisateur doit gérer la connexion et la déconnexion manuellement.

Paramètres de connexion et d'analyse

ParamètreTypeDescription
selfloadingBooleanActive la connexion/déconnexion automatique si défini à true.
uriStringURI de connexion à MongoDB.
paramsObjectContient les paramètres pour des calculs spécifiques de données.
collectionStringNom de la collection cible pour l'analyse.
field1StringPremier champ pour les statistiques croisées.
field2StringDeuxième champ pour les statistiques croisées.
optionsObjectOptions spécifiques pour la collecte de statistiques détaillées.

Classes et méthodes principales

1. connect()

Établit la connexion à MongoDB manuellement.

const mongoMath = new MongoMath("mongodb://localhost:27017");
await mongoMath.connect();

2. disconnect()

Ferme la connexion à MongoDB manuellement.

await mongoMath.disconnect();

3. dataAnalyzer(params, selfloading)

Analyse complète de la base de données.

  • params : Object, paramètres d'analyse.
  • selfloading : Booléen.
const analysis = await mongoMath.dataAnalyzer({ collection: "users" }, true);

4. getDatabaseInfo(options, selfloading)

Récupère les informations de base sur la base de données.

  • options : Object, options d'analyse.
  • selfloading : Booléen.
const dbInfo = await mongoMath.getDatabaseInfo({}, true);

5. getDetailedCollectionStats(selfloading)

Obtient les statistiques détaillées des collections.

const collectionStats = await mongoMath.getDetailedCollectionStats(true);

6. analyzeDataDistribution(collectionName, selfloading)

Analyse la distribution des données d’une collection spécifique.

const distribution = await mongoMath.analyzeDataDistribution("users", true);

7. analyzeFieldStatistics(collectionName, selfloading)

Analyse les statistiques de champ dans une collection.

const fieldStats = await mongoMath.analyzeFieldStatistics("users", true);

8. getPerformanceMetrics(selfloading)

Récupère les métriques de performance de la base de données.

const metrics = await mongoMath.getPerformanceMetrics(true);

9. getStorageAnalysis(selfloading)

Obtient l'analyse du stockage de la base de données.

const storageAnalysis = await mongoMath.getStorageAnalysis(true);

10. alyzeDatabaseComplete(options, selfloading)

Analyse complète de la base de données.

const completeAnalysis = await mongoMath.alyzeDatabaseComplete({}, true);

11. calculateStatistics(params, selfloading)

Calcule des statistiques générales pour une collection.

const stats = await mongoMath.calculateStatistics(
  { collection: "users" },
  true
);

12. alyzeDatabaseComplete(collection, field1, field2, selfloading)

Calcule les statistiques croisées entre deux champs d'une collection.

  • collection : Nom de la collection cible.
  • field1 : Nom du premier champ pour les statistiques croisées.
  • field2 : Nom du second champ pour les statistiques croisées.
  • selfloading : Booléen, permet la gestion automatique de la connexion et déconnexion si défini à true.

Exemple d'utilisation

const crossFieldStats = await mongoMath.alyzeDatabaseComplete(
  "users",
  "age",
  "salary",
  true
);

Cette méthode est particulièrement utile pour analyser les corrélations entre deux champs d'une même collection. Si selfloading est activé, mongoMath établit automatiquement la connexion et la ferme après l'exécution de l'analyse, offrant ainsi une gestion simplifiée de la connexion.


Logger

Le module mongomath inclut un logger pour surveiller les activités de connexion, de déconnexion et d'analyse. Cela permet un suivi des opérations pour un débogage plus simple et une meilleure transparence.

Utilisation du Logger

Le logger enregistre :

  • Connexion/Déconnexion : lorsqu'une connexion est établie ou fermée.
  • Analyses et requêtes : chaque analyse de données est suivie d'un enregistrement des paramètres utilisés.
  • Erreurs : les erreurs rencontrées sont également enregistrées.

Exemple d'un log de connexion automatique :

[INFO] - Connection established to MongoDB
[INFO] - Data analysis started for collection: users
[INFO] - Data analysis completed for collection: users
[INFO] - Connection closed to MongoDB

Gestion des erreurs

Le module mongomath gère les erreurs et envoie des messages explicites pour aider à la résolution des problèmes.

Types d'erreurs

  • Erreur de connexion : Se produit si selfloading est défini à false mais qu'aucune connexion n’a été établie.
  • Erreur d'analyse : Toute erreur survenant lors de l'analyse des données (ex. champ ou collection inexistante).
  • Erreur de déconnexion : Peut survenir si la connexion n'est pas active.

Exemples de gestion des erreurs

try {
  const stats = await mongoMath.calculateStatistics(
    { collection: "nonexistent" },
    true
  );
} catch (error) {
  console.error("Error during analysis:", error.message);
}

Exemples d'utilisation

advice:

replace this: mongodb://localhost:27017/test by your own mongodb URI.If you don't have available mongodb databse instaled locally , you can use mongodb atlas create your account here : https://account.mongodb.com/account/

.

Pour analyser plusieurs statistiques sans gérer manuellement les connexions :

const DatabaseAnalyzer = require("mongoMath");

const analyzer = new DatabaseAnalyzer({
  uri: "mongodb://localhost:27017/test",
});

async function dbAnalyser() {
  try {
    // without connection
    const results = await analyzer.analyzeDatabaseComplete(true);
    console.log(results);
  } catch (error) {
    console.error("An error occurred:", error);
  } finally {
    await analyzer.disconnect();
  }
}

dbAnalyser();

Si vous souhaitez gérer manuellement la connexion et la déconnexion :

const DatabaseAnalyzer = require("mongoMath");

const analyzer = new DatabaseAnalyzer({
  uri: "mongodb://localhost:27017/test",
});

async function dbAnalyser() {
  try {
    //openning
    await analyzer.connect();
    //end openning
    const results = await analyzer.analyzeDatabaseComplete();
    console.log(results);
  } catch (error) {
    console.error("An error occurred:", error);
  } finally {
    //closing
    await analyzer.disconnect();
    //closing
  }
}

dbAnalyser();

À propos de Galaxy et de mongomath

Le projet Galaxy vise à créer un écosystème innovant pour les développeurs et les utilisateurs finaux. Notre mission est de fournir des outils de qualité, pour des applications modernes et performantes. mongomath est l'un des premiers produits de Galaxy, et nous invitons toute contribution pour développer davantage cet outil.


© 2024 galaxy.MongoMath. Tous droits réservés.

1.1.14

9 months ago

1.1.13

9 months ago

1.1.12

9 months ago

1.1.11

9 months ago

1.1.10

9 months ago

1.1.9

9 months ago

1.1.8

9 months ago

1.1.7

9 months ago

1.1.6

9 months ago

1.1.5

9 months ago

1.1.4

9 months ago

1.1.3

9 months ago

1.1.2

9 months ago

1.1.1

9 months ago

1.1.0

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

10 months ago