【发布时间】:2012-08-08 19:00:21
【问题描述】:
我正在使用 mongoDB 数据库在 ruby on rails 中开发一个站点。我是 mongoDB 的初学者,我想使用多个键对数据进行排序。我的收藏之一如下所示。
dd_users
{
"_id": ObjectId("4e9bcbdb1d41c866c600004e"),
"name": "Ram",
"score":5
"created_at": ISODate("2011-10-17T06: 31: 55.0Z"),
}
{
"_id": ObjectId("4e9bcbdb1d41c866c600004f"),
"name": "Robert",
"score":1
"created_at": ISODate("2011-10-12T06: 31: 55.0Z"),
}
{
"_id": ObjectId("4e9bcbdb1d41c866c600004g"),
"name": "Molly Bracken",
"score":3
"created_at": ISODate("2011-10-15T06: 31: 55.0Z"),
}
{
"_id": ObjectId("4e9bcbdb1d41c866c600005k"),
"name": "Ninou-Co France",
"score":5
"created_at": ISODate("2011-10-16T06: 31: 55.0Z"),
}
我想按“score”和“created_at”的降序对记录进行排序。 我使用 mongomapper 查询作为 1.DdUser.where({"name" => { "$ne" => nil}).sort([["score","desc"],["created_at","desc"]])。但是我只按照分数的顺序得到结果。
我期待结果
{
"_id": ObjectId("4e9bcbdb1d41c866c600004e"),
"name": "Ram",
"score":5
"created_at": ISODate("2011-10-17T06: 31: 55.0Z"),
}
{
"_id": ObjectId("4e9bcbdb1d41c866c600005k"),
"name": "Ninou-Co France",
"score":5
"created_at": ISODate("2011-10-16T06: 31: 55.0Z"),
}
{
"_id": ObjectId("4e9bcbdb1d41c866c600004g"),
"name": "Molly Bracken",
"score":3
"created_at": ISODate("2011-10-15T06: 31: 55.0Z"),
}
{
"_id": ObjectId("4e9bcbdb1d41c866c600004f"),
"name": "Robert",
"score":1
"created_at": ISODate("2011-10-12T06: 31: 55.0Z"),
}
【问题讨论】:
标签: ruby-on-rails sorting mongodb mongoid