Maison  >  Article  >  développement back-end  >  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
Mary-Kate Olsenoriginal
2024-11-05 16:35:02481parcourir

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")
}

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>
  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>
  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>

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:
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