2016-02-26 5 views
0

Что было бы лучшим решением для поиска только одной записи с запросом Waterline - Sails, который будет искать последнюю вставленную цену для комнаты2 в заданную дату?Найти последнюю строку, которая удовлетворяет условию запроса с помощью Sails.js

ID PRICE START  STOP  ROOM createdAt   updatedAt 
------------------------------------------------------------------------- 
85 750.00 2016-01-01 2017-12-31 room1 2016-02-25 10:09:47 2016-02-25 10:09:47 
86 590.00 2016-01-01 2017-12-31 room2 2016-02-25 10:09:55 2016-02-25 10:09:55 
90 410.00 2016-02-25 2016-02-27 room2 2016-02-25 16:46:08 2016-02-25 16:46:08 
91 310.00 2016-01-26 2016-04-28 room2 2016-02-26 09:35:26 2016-02-26 09:35:26 

Я получаю неправильные результаты делают это:

var where = {"start":{"<=":"2016-02-25T23:00:00.000Z"},"end":{">=":"2016-02-25T23:00:00.000Z"},"room":"room2"} 

PriceHistory.find(where).max('createdAt').exec(function(err, prices){ 
     res.json(prices); 
}); 
+0

У вас есть обе даты, чтобы быть таким же, прямо сейчас '{ "<=": "2016-02-25T23: 00: 00.000Z"}, "конец": { "> =":" 2016-02 -25T23: 00: 00.000Z "}' –

+0

@ yury-tarabanko Я правильно отредактировал вопрос Я ищу цену в заданную дату (2016-02-25) – Cris69

ответ

1

Как об использовании нисходящих сортировать по createdAt и ограничение одной записи?

PriceHistory.find(where) 
    .sort('createdAt DESC') 
    .limit(1) 
    .exec(function(err, prices){ 
     res.json(prices); // should return one record (last one) 
    }); 
Смежные вопросы