如何在Kinvey的REST API中存储和查询日期值?

时间:2013-02-04 21:52:13

标签: rest date between 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()
        })
    })
})

以下是我正在玩的测试数据。

Example data

(有足够声望点的人可以添加Kinvey标签吗?)

1 个答案:

答案 0 :(得分:2)

我是Kinvey工程团队的一员。只要您的日期是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"}}