私は小さなノード アプリケーションを作成しており、クエリの一部は、次のように、オブジェクトのいいね数で並べ替えています。
likes : { num: { type: Number, default: 0 }, IDs:[Number]...
および並べ替えクエリ:
Object.find().sort({likes : 'desc'};).execFind(function(err, confessions){...
これは、いいねの数でソートするのではなく (私が望んでいるように)、最近気に入ったオブジェクトでソートします。
likes.num で並べ替えるにはどうすればよいですか? 私はそれを機能させることができないようです...
編集: 要求に応じて mongo doc を用意します
{ __v: 0,
_id: 51703a470ef8e60000000002,
name: 'Name',
text: ' this is a fresh submission for mongo to hold',
comments: { commentData: [], num: 0 },
removed: false,
time: Thu Apr 18 2013 11:24:07 GMT-0700 (PDT),
likes: { IDs: [ 100001810858894 ], num: 1 },
dislikes: { IDs: [ 100001810858894 ], num: 1 } }
編集:クエリ全体をHERES
exports.index = function (req, res) {
console.log(req.user);
var sortParams;
var sort = req.params.sortingMethod;
console.log(sort);
if (sort == 'newest'){
sortParams = { time : 'asc'};
} else if (sort == 'oldest'){
sortParams = { time : 'desc'};
} else if (sort == 'likes'){
sortParams = {likes.num : 'desc'};
} else if (sort == 'dislikes'){
sortParams = {dislikes.num :'desc'};
} else {
sortParams = { time : 'desc'};
}
console.log(sortParams);
Confession.find().sort(sortParams).execFind(function(err, confessions){...