2016-03-23 7 views
0

javascriptの日付値を持つドキュメントをCouchbaseに保存しています。文字列 '2016-01-02T12:13:14Z'ではなく、まったく同じものを取得します。Nodejs Couchbaseはドキュメントから日付プロパティを逆シリアル化します

JSON.parseの2番目のパラメータを使用してプレーンなJavascriptを使用してこれを実現する方法が見つかりましたが、Couchbaseは内部的にデシリアライズを行い、これを実際に使用することはできません。

Couchbaseの逆シリアル化を無効にする方法はありますか?JSON.stringify + JSON.parseを回避し、オブジェクトを深く歩くことは避けてください。

bucket.get(key, (err, result) => { 
    if (err) { 
     //deal with error here 
    } else { 
     //here "result.value" is already deserialized 
     done(result.value); 
    } 
}); 

答えて

1

ご存じのように、JSONとDateオブジェクトの処理は、何をしようとしているのかによって少し異なる場合があります。私たちはデフォルトに固執しがちです。あなたが探しているのはかなり高度なユースケースです。現時点では、解析する方法を変更するための直接的なサポートはありません。

ただし、このためのインターフェイスがあります。これは「トランスコーダ」と呼ばれ、着信データを格納されているデータに変換する処理をどのように処理するかを非常に具体的に指定できます。私はあなたがしたいことをかなり示している例はありませんが、下位層でこれを探し始めるのが良い場所はshown in the testsです。

しかし、あなたがアプリケーションのレベルで異なって格納しているものを扱うほうが簡単かもしれません。あなたが指摘したrevivierパラメータの読んだところから、それは検索時にしかないでしょう。私が信じている非常に低コストで、次のレイヤーに渡す前にオブジェクトを変更してからget()をラップすることを止めることは何もありません。

関連する問題