如何在Go mgo中投射其他字段

时间:2017-07-07 14:25:27

标签: mongodb go mgo

我的Go代码是:

  query := []bson.M{
        bson.M{
      "$match": bson.M{
        "static.created": bson.M{
          "$gt": someDate,
        },
      },
    },
    bson.M{
      "$group": bson.M{
        "_id": "$static.name",
        "count": bson.M{ "$sum": 1 },
      },
    },
    bson.M{
      "$match": bson.M{
        "count": bson.M{
          "$gte":2,
        },
      },
    },
        bson.M{
      "$project": bson.M{
        "count": 1,
        "static.name": 1,
      },
    },
  }


    pipe := c.Pipe(query)
    response := []bson.M{}
    err = pipe.All(&response)

作为回应,我应该得到3个字段: _ID 计数 static.name

但我只得到其中两个: _ID 计数

我如何在回复中获得其他字段?我在$ project中添加了字段,但它没有出现在响应中。

我尝试使用以下方法远程_id字段:

bson.M{
  "$project": bson.M{
    "_id": 0,
    "count": 1,
    "static.name": 1,
  },
},

它有效。因此,$ project可以删除字段,但无法添加它们。

0 个答案:

没有答案