Nodejs Couchbase从文档反序列化日期属性

时间:2016-03-23 15:30:58

标签: javascript json node.js couchbase couchbase-nodejs-sdk

我在Couchbase中保存了一个包含javascript日期值的文档,并希望得到完全相同的内容,而不是字符串' 2016-01-02T12:13:14Z'。

通过使用JSON.parse的第二个参数找到了使用普通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 个答案:

答案 0 :(得分:1)

您可能知道,JSON和Date对象处理可能有点具体,具体取决于您尝试执行的操作。我们倾向于坚持默认值。您正在寻找的是一个相当高级的用例。目前,我们没有直接支持改变我们解析的方式。

但是,有一个接口。它被称为“转码器”,它让您可以非常具体地了解如何处理将传入数据转换为存储的数据。我没有一个显示你想要做什么的例子,但是在较低层开始寻找这个的好地方是shown in the tests

然而,在应用程序级别处理不同的存储方式可能会更容易。从我读到的你所指向的复活参数,只有在检索时才会这样。没有什么可以阻止你包装get()然后在以相当低的成本将它传递到下一层之前改变对象,我相信。