我有一个看起来像这样的文档:
{
"_id" : ObjectId("4e84f78b26d2046d5d00b5b2"),
"parent_id" : 0,
"ratings" : [
"20716",
"78167"
],
"text" : "test"
}
是否可以按“评分”数量排序?做类似的事情:
db.comments.find().sort({rating.count(): -1})
抛出错误:
SyntaxError: missing : after property id (shell):0
最佳答案
已经有一个标记的答案,但我想我应该补充一点,这可以使用聚合框架来完成:
db.comments.aggregate( [
{ $unwind: "$ratings" },
{ $group : { _id : { parent_id: "$parent_id", text: "$text" },
ratingsCount : { $sum : 1 } } },
{ $sort : { ratingsCount : -1 } }
] )
关于sorting - MongoDB 按子文档计数排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7613801/