Как хранить и запрашивать значения дат в 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"}}
Другие вопросы по тегам