1

kinvey 似乎不支持特定的日期类型。

那么应该如何存储日期才能在某些日期之间进行查询呢?

我对在他们的 REST 平台上实现这一点特别感兴趣。

这个 mocha 测试似乎通过了,但是,我担心它们是按字母顺序过滤的,这可能会导致一些我还没有想到的边缘情况。

(请注意,我已抽象为通用模块的 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标签吗?)

4

1 回答 1

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"}}
于 2013-02-06T11:31:59.213 回答