首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ArangoDB-PHP集合存在检查

ArangoDB-PHP集合存在检查
EN

Stack Overflow用户
提问于 2014-10-27 14:42:52
回答 2查看 368关注 0票数 1

我想检查一下ArangoDB是否已经存在一个集合。

代码语言:javascript
复制
$collectionHandler = new CollectionHandler($arango);
$userCollection = new Collection();
$userCollection->setName('_profiles');

因为我得到了以下错误:

代码语言:javascript
复制
Server error: 1207:cannot create collection: duplicate name cannot create collection: duplicate name

如何检查ArangoDB是否已经存在一个集合?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-27 16:59:45

我应该使用try/catch语句

代码语言:javascript
复制
try { 
    $collectionHandler = new CollectionHandler($arango);
    $userCollection = new Collection();
    $userCollection->setName('_profiles');
    $collectionHandler->create($userCollection);
} catch (ServerException $e) {
    // do something
}
票数 1
EN

Stack Overflow用户

发布于 2017-02-02 10:21:33

使用异常处理来驱动程序流被认为是不好的风格--它应该用于真正的异常。在您的示例中,我认为包含用户配置文件的集合的存在是规则,而不是例外。

检查集合是否存在的正确方法是CollectionHandler::has($id)。创建集合的正确方法是使用CollectionHandler::create($collection)create接受一个字符串作为参数,即要创建的集合的名称。

代码语言:javascript
复制
$userCollectionName = '_profiles';

$collectionHandler = new CollectionHandler($arango);
$userCollection = $collectionHandler->has($userCollectionName) ?
    $collectionHandler->get($userCollectionName) 
    : 
    $collectionHandler->create($userCollectionName);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26590106

复制
相关文章

相似问题

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