【问题标题】:how we can create External UDF to execute N1QL?我们如何创建外部 UDF 来执行 N1QL?
【发布时间】:2020-11-25 07:23:44
【问题描述】:

我创建了外部 UDF 来执行 N1QL,但是当我们执行函数时出现错误

我创建的函数

function myFunction() {
     var N1qlQuery = couchbase.N1qlQuery;
     query = N1qlQuery.fromString('select * from test.`101`.cust1  where Meta().id=\"101::13::CUST1::1::000a4aed-5b51-45e7-8294-ac4e320d2291\"');
     retrun bucket.query(query).toString()
  }

我尝试过的第二种方法

function myFunction() {
 var cluster = Cluster.connect(\"127.0.0.1\", \"Administrator\", \"password\");
 var bucket = cluster.bucket(\"test\");
 var scope =bucket.scope(\"101\");
 var collections  =scope.collection(\"cust1\");
 var N1qlQuery = couchbase.N1qlQuery;

 query = N1qlQuery.fromString('select * from test.`101`.cust1  where Meta().id=\"101::13::CUST1::1::000a4aed-5b51-45e7-8294-ac4e320d2291\"'); 
 retrun bucket.query(query).toString()
 }

"

我得到的错误

【问题讨论】:

  • 这是事件函数还是 UDF
  • 这是使用 javascript 的简单外部用户定义函数。这不是事件功能

标签: javascript couchbase couchbase-sync-gateway


【解决方案1】:

很抱歉,此时 javascript UDF 无法执行 N1QL 语句,这解释了您的 UDF 失败的原因。

【讨论】:

  • 我正在使用 couchbase 7.0 beta,根据文档,我们可以在内联用户定义函数中执行查询。外部用户定义函数仅支持 javascript。只是我想弄清楚我们可以在外部用户定义的函数中执行查询吗?如果是,那怎么办?如果没有,那为什么? couchbase 7.0 beta 是否支持外部用户定义函数中的查询?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多