![](/img/trans.png)
[英]I am trying to make my program list blog posts in order by the number of likes each blog has
[英]Trying to sort posts by the number of likes mongodb
我正在嘗試使用expressjs和mongodb按喜歡的次數對帖子進行排序。
get "postsByLikes/:category", (req, res, next) ->
category = req.params.category
db.posts.aggregate([
{$match:
type: "post"
category: category}
{$project:
likesCount:
$size: "like"}
{"$sort":
"likesCount": -1}
]).toArray (err, posts) ->
res.send(posts)
這個查詢怎么了?
您沒有提到輸出是什么,但是根據您的代碼,您似乎只獲得沒有源文檔的數字。 原因是您使用了:
{$project:
likesCount:
$size: "like"}
得到計數。 問題是$project
將僅返回指定的字段(在這種情況下,就像likesCount
一樣)。 要解決此問題,您需要$ addFields而不是$project
來獲取源文檔和新的計算字段:
{$addFields:
likesCount:
$size: "$like"}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.