我想检查ArangoDB-PHP中是否已存在Collection。
$collectionHandler = new CollectionHandler($arango);
$userCollection = new Collection();
$userCollection->setName('_profiles');
因为我收到以下错误:
Server error: 1207:cannot create collection: duplicate name cannot create collection: duplicate name
如何使用ArangoDB-PHP检查集合是否已存在?
答案 0 :(得分:1)
我应该使用try / catch语句
try {
$collectionHandler = new CollectionHandler($arango);
$userCollection = new Collection();
$userCollection->setName('_profiles');
$collectionHandler->create($userCollection);
} catch (ServerException $e) {
// do something
}
答案 1 :(得分:0)
使用异常处理来驱动程序流被认为是不好的风格 - 它应该用于实际异常。在您的情况下,先前存在包含用户配置文件的集合是规则,我认为,这不是例外。
检查集合是否存在的正确方法是with
。创建集合的正确方法是使用CollectionHandler::has($id)
。 CollectionHandler::create($collection)
接受一个字符串作为参数,即要创建的集合的名称。
create