Nadie sabe lo que es el equivalente de agregado de comandos que utilizaremos en el shell de mongodb para golang mgo/hijo?

Algo así como que:

aggregate([{$match:{my_id:ObjectId("543d171c5b2c1242fe0019")}},{$sort:{my_id:1, dateInfo:1, name:1}},{$group:{_id:"$my_id", lastEntry:{$max: "$dateInfo"},nm:{$last:"$name"}}}])
InformationsquelleAutor Daemon1313 | 2014-10-19

2 Comentarios

  1. 25

    Suponiendo que c es su Colección:

    pipe := c.Pipe([]bson.M{{"$match": bson.M{"name":"John"}}})
    resp := []bson.M{}
    err := pipe.All(&resp)
    if err != nil {
      //handle error
    }
    fmt.Println(resp) //simple print proving it's working

    GoDoc referencias:

    • cómo conseguir anidada valor de resp? puedo conseguir resp[«someKey»], pero no resp[«someKey»][«someKeyKey»]
  2. 0

    Código De Ejemplo:

    pipe := c.Pipe([]bson.M{bson.M{"$match": bson.M{"type": "stamp"}},
            bson.M{"$group": bson.M{"_id": "$userid",
                "count": bson.M{"$sum": "$noofsr"}}}})
    
    resp := []bson.M{}
    iter := pipe.Iter()
    err = iter.All(&resp)

    Nota:

    Por favor, tenga en cuenta que la línea debe terminar con (,) si usted no está rompiendo en (,) se producirá el mensaje de error incluso si su consulta es correcta.

    De salida:

    {
        "transactions": [
            {
                "_id": "[email protected]",
                "count": 10
            },
            {
                "_id": "[email protected]",
                "count": 12
            }
        ]
    }

Dejar respuesta

Please enter your comment!
Please enter your name here