Угловая сортировка массива объектов json по последнему сообщению - PullRequest
0 голосов
/ 30 апреля 2018

Я хочу иметь возможность сортировать массив объектов json не по полю, а по самому последнему сообщению для более позднего сообщения, или я считаю, что это будет возрастающий порядок.

Мой типичный подход заключается в сравнении поля, подобного имени или фамилии, со следующим:

someArray.sort(function(a, b){
    if ( a.someField < b.someField )
        return -1;
    if ( a.someField > b.someField )
        return 1;
    return 0;
});

Возвращается набор данных из моего API, который возвращает массив объектов json из MongoDb.

Спасибо за любой совет !!

Образец возвращенного набора данных:

[
    {
        "_id": "5a787d79e2676c6711cfaf99",
        "owner_id": "5a787bacae6d9926d313051e",
        "__v": 0,
        "first_name": "Sarah",
        "last_name": "Paul",
        "initial": "",
        "accepted": true,
    },
    {
        "_id": "5a787d79e2676c6788cfaf99",
        "owner_id": "5a787bacae6d9926d313051e",
        "__v": 0,
        "first_name": "Jim",
        "last_name": "Albertson",
        "initial": "B",
        "accepted": true,
    },
    {
        "_id": "5a787d79e2676c6711cfa089",
        "owner_id": "5a787bacae6d9926d313051e",
        "__v": 0,
        "first_name": "Corry",
        "last_name": "Rich",
        "initial": "",
        "accepted": false,
    },
]

Пример кода в моем API, который возвращает набор данных:

router.route('/getbyowner/:ownerId')
    .get(function(req, res) {
        Alerts.find({ owner_id: req.params.ownerId }, function(err, alerts) {
            if (err)
                res.send(err);

            res.json(alerts);
        })
    });

1 Ответ

0 голосов
/ 30 апреля 2018

Проверьте этот ответ: https://stackoverflow.com/a/22226514/4125622 Я думаю, что вам нужно сделать, это

Alerts.find({ owner_id: req.params.ownerId }).sort({ $natural: -1 }).limit(YOUR_LIMIT_OF_RESULTS)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...