【发布时间】:2016-07-08 16:00:11
【问题描述】:
我正在尝试通过聚合来吸引特定年龄段的用户。
编辑:我能够通过 mongo shell 工作,查询工作正常,但我无法使其与 go 一起工作
这段代码给了我“复合文字中缺少类型”的错误。
我在这里错过了什么?
lte := 10
gte := 0
operations := []bson.M{
{
"$match":{
"$and":[]interface{}{
bson.M{"age":{"$gte":gte}},
bson.M{"age":{"$lte":lte}},
},
},
},
{
"$group":bson.M{"_id":"$user_id"},
},
}
r := []bson.M{}
pipe := c.Pipe(operations)
err := pipe.All(&r)
if err != nil {
logrus.Errorf("Error: %v", err)
return err
}
【问题讨论】:
-
您按 user_id 分组,但我看不到您在哪里选择它作为结果值
-
请添加示例文档by editing your question。
-
@obi1 我不确定我明白,你能详细说明吗?
-
@MarkusWMahlberg,我的问题是由于此代码无法编译而出现的。我不知道你为什么需要一个示例文档。
-
@ceroloy 只是为了确保您确实确实有一个名为
user_id的字段并防止冗长的讨论。 ;)
标签: mongodb go mongodb-query