似乎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标签吗?)
答案 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"}}