MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

заявка за агрегиране на mongo с mgo драйвер

Примерите в документите биха били достатъчни, за да започнете. Ако обаче не сте запознати с golang, $cond част може да е малко трудна. Вижте по-долу примерен код:

    collection := session.DB("dbName").C("devices")

    stage_match := bson.M{"$match":bson.M{"userId":"v73TuQqZykbxFXsWo", "state": true}}

    condition_weight := []interface{}{bson.M{"$or": []bson.M{
                       bson.M{"$eq": []string{"$categorySlug", "air_fryer"}},
                       bson.M{"$eq": []string{"$categorySlug", "iron"}},
    }}, 0, 1}

    stage_project:= bson.M{"$project": bson.M{"userId":1, "categorySlug":1, "weight": condition_weight}}

    stage_sort := bson.M{"$sort": bson.M{"weight":1}}

    stage_limit := bson.M{"$limit": 10}

    pipe := collection.Pipe([]bson.M{stage_match, stage_project, stage_sort, stage_limit})

Вижте също mgo:type Pipe




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoimport избира тип поле

  2. Стъпки за свързване на MongoDB и Solr с помощта на DataImportHandler

  3. Преобразуване на JSON масив в многоизмерен масив

  4. Оптимизация на производителността на схемата MongoDB

  5. ECS Fargate не поддържа монтажи за свързване