【问题标题】:Arangodb- does a data dictionary ExistArangodb - 是否存在数据字典
【发布时间】:2020-09-16 22:24:27
【问题描述】:

有人知道 arangodb 是否有任何可用的数据字典吗?从本质上讲,我们负责报告,如果能够运行一个查询,这将使我们能够列出集合和属性,以便我们可以看到已添加/删除/更新,这将很有帮助?

基本上相当于 oracle 中的 all_tab_columns 会有所帮助。

谢谢

【问题讨论】:

标签: arangodb


【解决方案1】:

您可以使用arangosh 命令(more)并使用db._collections() 列出数据库中的所有集合。然后,您可以运行一个查询,遍历集合中的每个文档并获取其 ATTRIBUTES (source)。

示例 bash 脚本:

#!/bin/bash

read -p "Database: " DATABASE
read -p "Username: " USERNAME
read -s -p "Password: " PASSWORD

echo

ARANGOSH_SCRIPT=$(cat <<-END
  const getAttributes = (collection) => db._query(\`
    FOR rec IN \${collection}
      FOR attr IN ATTRIBUTES(rec)
        RETURN DISTINCT attr
  \`).toArray();
  db._collections().forEach((collection) => {
    if (collection.properties().isSystem) {
      // ignore system collections
      return;
    }
    const collectionName = collection.name();
    print(\`\${collectionName}: \${JSON.stringify(getAttributes(collectionName))}\`);
  });
END
)

arangosh --server.database "$DATABASE" \
 --server.username "$USERNAME" \
 --server.password "$PASSWORD" \
 --javascript.execute-string "$ARANGOSH_SCRIPT"

【讨论】:

    猜你喜欢
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多