我在处理couchbase的bucket.get()API时遇到了问题。我需要看看,如果某些DocID已经存储在couchbase服务器中,如果没有,那么我需要进行一些XML解析。
var policy_bucket = cluster.openBucket('ss_policy_db');
function someFun(){
for (var i = 0; i < Policies.length; i++) {
var Profile = Policies[i];
var polID = Profile.get('id');
var ret = retrievePolicyNew(polID)
// do some action on the basis of ret.
}
}
function retrievePolicyNew(id) {
var result = policy_bucket.get(id.toString()); // TypeError: Second argument needs to be an object or callback.
console.log(result);
// return -1, on if we find the ID.
}
bucket.get()的问题在于,它是异步的(不知道如何进行同步调用),我不想处理每次ID搜索的回调。是他们以任何其他方式搜索couchbase中的ID列表。如果有人可以帮助我获得同步调用API集,这将是很好的,这也将解决我的许多其他问题。因为在回调中进行非常小的搜索并处理它看起来不是很好。 我在数据库中存储的数据非常少,因此这里的性能不是问题。
答案 0 :(得分:0)
您应该能够以同步方式使用它。我认为您上面提供的代码示例不完整,而且您正在调用CouchbaseBucket.async()
或其他地方。在任何情况下,the docs are pretty clear that get()
都会接受一个字符串并返回JsonDocument