按数组长度排序mongodb
我尝试按数组大小对搜索进行排序,我尝试在mongodb中执行以下操作,结果成功:按数组长度排序mongodb,mongodb,go,Mongodb,Go,我尝试按数组大小对搜索进行排序,我尝试在mongodb中执行以下操作,结果成功: db.getCollection('tweet').aggregate({ $unwind:'$complaints'}, { $group : {_id:'$_id', count:{$sum:1}}}, { $sort :{ count: 1}}) 本申报表: { "_id" : ObjectId(&q
db.getCollection('tweet').aggregate({ $unwind:'$complaints'},
{ $group : {_id:'$_id', count:{$sum:1}}},
{ $sort :{ count: 1}})
本申报表:
{
"_id" : ObjectId("5fade9754b0cac60df630ab2"),
"count" : 2.0
}
试着这样做吧
update := bson.M{
"$group": bson.M{
"count": bson.M{"$sum": 1},
},
}
conditions:= make([]bson.M, 0)
conditions= append(conditions, bson.M{"$unwind": "$complaints"})
conditions= append(conditions, bson.M{"$sort": bson.M{"count": -1}})
conditions= append(conditions, update)
conditions= append(conditions, bson.M{"$skip": skip})
conditions= append(conditions, bson.M{"$limit": 20})
cursor, err := col.Aggregate(ctx, conditions)
var result []models.complaintsCount
err = cursor.All(ctx, &result)
if err != nil {
return result, false
struct models.complaintsCount:
type complaintsCount struct {
ID primitive.ObjectID `bson:"_id" json:"_id,omitempty"`
Count int `bson:"count" json:"count"`
}
但是返回错误,有什么办法吗?您的group语句缺少_id,排序应该在group之后您的group语句缺少_id,排序应该在group之后