我在处理Couchbase的bucket.get()API时遇到了问题。我需要查看,是否已经存储在Couchbase Server中,如果不是,则需要进行一些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集,那将是很棒的,这也可以解决我的其他问题。因为也可以在回调中进行很小的搜索并处理它看起来不是很好。我在数据库中存储了很少的数据,因此性能不是这里的问题。
您应该能够同步使用它。我认为您上面提供的代码示例是不完整的,并且您正在调用CouchbaseBucket.async()
或其他地方。无论如何,文档很清楚get()
拿起一个字符串并返回JsonDocument