【发布时间】:2016-07-25 22:39:51
【问题描述】:
假设我有以下结构
type Test struct {
Title string `bson:"title" json:"title"`
Update Update `bson:"update" json:"update"`
}
type Update struct {
Changes []string `bson:"change" json:"change"`
UpdatedAt time.Time `bson:"updatedAt" json:"updatedAt"`
}
假设我想通过“update.updatedAt”对查询中的结果进行排序
cs.Find(bson.M{title: "some title"}).Sort("-update.updatedAt").Limit(10).All(&results)
此查询未按预期工作。我似乎找不到任何有关如何按子文档字段对查询进行排序的文档。直觉上,我确信我的例子会奏效。作为参考,“-updatedAt”工作得很好,但出于不需要解释的原因,我必须将 Update 作为 Test 的子文档。
到目前为止,我看到的每个示例和堆栈溢出问题都涉及子文档或数组的排序和重新排序。在这种情况下,我不关心子文档的顺序,也不按数组内的任何内容进行排序。我只想按子文档的日期对文档进行排序。
有没有办法使用 Go Mgo 查询库来做到这一点?
【问题讨论】: