【问题标题】:Couchbase NodeJs SDK bucket.insert not returning valueCouchbase NodeJs SDK bucket.insert 不返回值
【发布时间】:2018-09-18 23:18:23
【问题描述】:

我遇到了一个有线问题,当我在我的存储桶中执行插入/创建新文档时,它会成功创建它并返回新文档的 CAS 值,但如果我想访问实际的 result.value,我会得到未定义。我可以访问 result.cas。因为我需要返回在 couchbase 中创建项目时创建的 id,所以我想知道如何在不进行单独调用的情况下做到这一点

var initialLead = function(doc){
bucket.insert('leads::' + uuidv4(), leadbase(doc), function(err, result) {
if (!err) {
  console.log("stored document successfully. Value is", result.value);
} else {
  console.error("Couldn't store document: %j", err);
}
});
}

【问题讨论】:

    标签: node.js couchbase


    【解决方案1】:

    在 couchbase 中,ID(也称为密钥)由您创建,因此您可以将其返回。 CAS 只是与特定突变相关的不透明值。

    从您的代码示例中,您的 ID/密钥是: 'leads::' + uuidv4()

    【讨论】:

    • 这是文档的 ID,但我也为我在联系人中创建的分配了一个 ID。因为我不知道我将不得不传递 id 或在 get doc by id 之后从 doc 中获取它。出于某种原因,我认为它可以返回刚刚插入的文档,希望节省额外的查询
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多