1

kinveyは特定の日付型をサポートしていないようです。

それでは、特定の日付の間でクエリを実行できるようにするには、日付をどのように保存する必要がありますか?

私は彼らのRESTプラットフォームにこれを実装することに特に興味があります。

このモカテストは合格したようですが、アルファベット順にフィルタリングされているのではないかと心配しています。これにより、まだ考えていないエッジケースが発生する可能性があります。

(私が共通のモジュールに抽象化したモカテストから欠落しているボイラープレートがあることに注意してください)

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 に答える