1

我使用以下代码(couchnode客户端)从 Node.js 应用程序将数据存储在 CouchBase 中:

    //Expiry information of couchbase doucumenets. fetched from config.json
    //Expiry is less than 30*24*60*60 (30 days)
    //The value is interpreted as the number of seconds from the point of storage or update.
    //Expiry is greater than 30*24*60*60
    //The value is interpreted as the number of seconds from the epoch (January 1st, 1970).
    //Expiry is 0
    //This disables expiry for the item. 
    CouchBaseDB.set(keytosave, 60, doctosave, function (err, meta) {
        if (err) { console.log(err); } else {console.log('saved');}
    });

不幸的是,上面的代码不起作用(它自己保存 60 而不是 object doctosave)并且除了第 4 章之外,它没有解释如何设置到期时间。Java 方法摘要 - 4.4。到期值

是否有人遇到过相同的情况并找到任何解决方法/解决方案或任何文档支持。如果得到解释,那将有很大帮助。

提前致谢。

4

1 回答 1

4

设置函数如下所示:

function set(key, doc, meta, callback) { ... }

如果要为存储的密钥添加过期时间,只需创建meta = {}对象并为其添加字段过期时间:meta.expiry = 1000

这是来源的链接

因此,要存储您的文档,您需要:

var meta = {"expiry":60};
CouchBaseDB.set(keytosave, doctosave, meta, function (err, meta) {
  if (err) { console.log(err); } else {console.log('saved');}
});

注意:此外,如果该密钥是通过 couchbase 检索的CouchBaseDB.get(),则meta可以从该 get 函数中提取。

于 2013-05-19T11:45:45.890 回答