首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Couchbase -通过API创建设计文档

Couchbase -通过API创建设计文档
EN

Stack Overflow用户
提问于 2014-08-22 11:35:56
回答 1查看 310关注 0票数 0

我一直在为一个大型项目使用Couchbase,其中我们只消耗数据,但没有实际写入Couchbase集群的要求。我想写一些管理工具,并能够通过API而不是web控制台创建设计文档和视图。

创建文档根本不是问题,但每当我使用setDesignDoc()时,我都会收到以下错误消息:

代码语言:javascript
复制
Fatal error: Uncaught exception 'CouchbaseLibcouchbaseException' with message 'Failed to store design doc: Invalid input/arguments' in ....

我可以使用getDesignDoc()从源获得实际的视图数据,并使用它在目标服务器上创建设计文档,如下所示:

代码语言:javascript
复制
$connandleDestination->setDesignDoc( "myDesignDoc", $connSource->getDesignDoc("myDesignDoc") );

这就是我得到上面的错误信息的地方。

顺便说一句,我正在使用PHP SDK和Couchbase 2.5.1的最新版本

EN

回答 1

Stack Overflow用户

发布于 2014-08-25 17:33:13

您能否确认您给出的示例代码是否与您正在使用的代码完全相同?

代码语言:javascript
复制
$connandleDestination->setDesignDoc( "myDesignDoc", $connSource->getDesignDoc("myDesignDoc") );

您给出的内容不会像API docs中的语法那样工作:

代码语言:javascript
复制
setDesignDoc(string $name, string $document) : bool

因此,您似乎正在尝试将一个新文档myDesignDoc设置为等于设计文档myDesignDoc,该文档要么不存在,要么没有任何影响(因为设置为等于本身不会导致任何更改-并且使用现有设计文档的名称创建一个新的设计文档将直接覆盖它)。

get()将返回一个文档(它在setDesignDoc输入中是有效的,并且该文档可以与要创建的新设计文档具有相同的名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25439152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档