sql >> データベース >  >> NoSQL >> MongoDB

GoMongoDistinctを使用して複数の値を返す方法

    prasadのコメントの後、私はこのソリューションで問題を解決しました。

        type Example struct {}
    
        var exm []Example
        ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
        defer cancel()
    
        pipeline := []bson.M{
            {"$match": bson.M{"status": "Pending"}},
            {"$group": bson.M{"_id": "$batch"}},
        }
    
        cursor, err := db.Collection("xyzcollection").Aggregate(ctx, pipeline)
        if err != nil {
            return []Example{}, errors.New(fmt.Sprintf("unable to retrive data: %s ", err.Error()))
        }
    
        var result Example
        for cursor.Next(ctx) {
            cursor.Decode(&result)
            exm = append(exm, result)
        }
        return exm, nil
    
    


    1. Mongodb(v2.4.0)$match集計が日付範囲で機能しない

    2. MongoDB-他を除く正確な配列要素をフェッチする

    3. NoSql参照データ

    4. Mongodb:グループ後の集計でレコード数を使用する