我使用以下代码(couchnode客户端)从Node.js app将数据存储在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而不是对象doctosave
)并且没有解释如何设置到期时间而不是Chapter 4. Java Method Summary - 4.4. Expiry Values。
是否有任何人遇到同样的问题,并找到了相同的解决方案或解决方案或任何文档支持。如果解释那将是很好的帮助。
提前致谢。
答案 0 :(得分:4)
设置功能如下:
function set(key, doc, meta, callback) { ... }
如果您想为存储密钥添加到期,只需创建meta = {}
对象并为其添加字段到期时间:meta.expiry = 1000
。
以下是sources
的链接所以要存储你需要的文档:
var meta = {"expiry":60};
CouchBaseDB.set(keytosave, doctosave, meta, function (err, meta) {
if (err) { console.log(err); } else {console.log('saved');}
});
注意:如果通过CouchBaseDB.get()
从沙发基地检索该密钥,则可以从该get函数中提取meta
。