我想进行查询以获取在我的数据库 mongoDB 中具有更多推文的用户排名:
var TeewtSchema = new Schema({
userId: Number,
twweetId : Number,
createdAt: Date,
cuerpo: String,
nameUser: String,
location: String,
avatar: String,
user: String
});
MySql 输出类似于:
SELECT *, (SELECT COUNT(*) FROM `TABLE 1` WHERE userId = t.userId ) rank FROM `TABLE 1` t GROUP BY t.userId ORDER BY rank DESC
但在 mongoDB 中我不知道该怎么做
最佳答案
是的,正如 JohnnyHK 所建议的,您应该使用 aggregation framework为了这。像下面这样的东西应该这样做:
db.collection.aggregate(
{ $group : { _id : "$userId", numTweets = { $sum : 1 } }, // sum tweets over each user
{ $sort : { numTweets : -1 } } // sort by numTweets in descending order
)
关于mysql - 选择中的计数子查询 - mongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18425236/