Как хранить и запрашивать значения дат в REST API Kinvey?
Кажется, что kinvey не поддерживает определенный тип даты.
Как тогда хранить даты, чтобы можно было делать запросы между определенными датами?
Я особенно заинтересован в реализации этого на их платформе REST.
Этот тест мокко, кажется, прошел, но я боюсь, что они фильтруются по алфавиту, и это может вызвать некоторые крайние случаи, о которых я еще не думал.
(обратите внимание, что в тесте mocha отсутствует шаблон, который я абстрагировал от общего модуля)
describe(kinvey.description, function () {
it('query between two dates', function (done) {
var query = 'query={"date_of_birth":{"$gt" : "1948-01-01", "$lt" : "1948-08-19"}}&sort=last_name'
kinvey.get('/appdata/' + kinvey.appKey + '/static?' + query, function (response, body) {
assert.equal(body.length, 1)
//john bonham
assert.equal(body[0].first_name, 'John')
assert.equal(body[0].last_name, 'Bonham')
done()
})
})
})
Вот тестовые данные, с которыми я играюсь.
(Может ли кто-то с достаточным количеством очков репутации добавить тег Kinvey?)
1 ответ
Я являюсь частью команды инженеров в Кинве. Если ваша дата в формате ISO-8601 ( https://en.wikipedia.org/wiki/ISO_8601), даты будут запрашиваться правильно. Пограничные случаи будут иметь место, если даты хранятся не со всеми цифрами.
Пример:
2012-02-08 будет правильно сортировать и запрашивать, а 2012-2-8 - нет.
Пока даты в этом формате, фильтры запросов, такие как ниже, работают правильно.
{"date_of_birth":{"$gt" : "1948-01-01", "$lt" : "1948-08-19"}}