Maison > développement back-end > Golang > Comment interroger MongoDB avec une plage de dates en utilisant mgo et Go ?

Comment interroger MongoDB avec une plage de dates en utilisant mgo et Go ?

Mary-Kate Olsen
Libérer: 2024-11-05 16:35:02
original
557 Les gens l'ont consulté

How do you Query MongoDB with Date Range using mgo and Go?

Interrogation de MongoDB avec une plage de dates à l'aide de mgo et Go

Les puissantes capacités de requête de MongoDB permettent un filtrage précis des données en fonction de critères spécifiques, y compris la date gammes. En utilisant mgo, une bibliothèque Go populaire pour MongoDB, les requêtes dans des plages de dates sont simples.

Considérez le document MongoDB suivant :

{
    "_id" : ObjectId("5458b6ee09d76eb7326df3a4"),
    "product_name" : "product1",
    "price" : 200,
    "sale_date" : ISODate("2014-11-04T11:22:19.589Z")
}
Copier après la connexion

Pour interroger ce document pour les documents vendus dans une plage de dates spécifique. , les étapes suivantes peuvent être suivies :

  1. Créer une structure Go pour les données de vente :

    <code class="go">type Sale struct {
        ProductName string    `bson:"product_name"`
        Price       int       `bson:"price"`
        SaleDate    time.Time `bson:"sale_date"`
    }</code>
    Copier après la connexion
  2. Analyser les plages de dates à partir de chaînes :

    <code class="go">fromDate, err := time.Parse(timeLayout, dateFrom)
    if err != nil {
        return err
    }
    toDate, err := time.Parse(timeLayout, dateTo)
    if err != nil {
        return err
    }</code>
    Copier après la connexion
  3. Requête avec plage de dates :

    <code class="go">var sales []Sale
    err = c.Find(
        bson.M{
            "sale_date": bson.M{
                "$gt": fromDate,
                "$lt": toDate,
            },
        },
    ).All(&amp;sales)</code>
    Copier après la connexion

En utilisant les opérateurs $gt et $lt MongoDB, la requête sélectionne les documents dans lesquels le champ sale_date dépasse fromDate et est inférieur à toDate, filtrant efficacement les ventes dans la plage de dates spécifiée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal