【问题详细描述】
如何查看集合空间所在的域?
【解决办法】
1.连接编目节点 (如SvcName=11800)
var db = new Sdb(“localhost”,11800);
2.SYSCAT.SYSCOLLECTIONSPACES集合中包含了集群中所有的用户集合空间信息,通过在此集合中指定想要查新的集合空间名即可看到其所属域名。如集合空间名为”foo”,可通过以下命令查询:
db.SYSCAT.SYSCOLLECTIONSPACES.find({“Name”:”foo”});
【解决办法】
- 目前 ( v3.2 ) 没有从集合空间反向查找域的接口,可以通过域查找到域中包含的集合空间,即: domain.listCollectionSpaces() 。如需通过集合空间查找其所属域只能直连编目节点后查看系统编目信息,但直连编目节点后不可做修改数据等操作,否则会有风险,所以一般不推荐使用此种方法。
- 如要使用上述方法可参考以下步骤:
(1) 连接编目节点 (如SvcName=11800)
var db = new Sdb(“localhost”,11800);
(2) SYSCAT.SYSCOLLECTIONSPACES 集合中包含了集群中所有的用户集合空间信息,在此集合中通过指定想要查看的集合空间名进行查询即可在 “Domain” 字段看到其所属域名。如集合空间名为 “foo”,可通过以下命令查询:
db.SYSCAT.SYSCOLLECTIONSPACES.find({“Name”:”foo”});
【解决办法】
- 目前 ( v3.2 ) 没有从集合空间反向查找域的接口,可以通过域查找到域中包含的集合空间,即: domain.listCollectionSpaces() 。如需通过集合空间查找其所属域只能直连编目节点后查看系统编目信息,但直连编目节点后不可做修改数据等操作,否则会有风险,所以一般不推荐使用此种方法。
- 如要使用上述方法可参考以下步骤:
(1) 连接编目节点 (如SvcName=11800)
var db = new Sdb(“localhost”,11800);
(2) SYSCAT.SYSCOLLECTIONSPACES 集合中包含了集群中所有的用户集合空间信息,在此集合中通过指定想要查看的集合空间名进行查询即可在 “Domain” 字段看到其所属域名。如集合空间名为 “foo”,可通过以下命令查询:
db.SYSCAT.SYSCOLLECTIONSPACES.find({“Name”:”foo”});
【参考资料】
SdbDomain.listCollectionSpaces(): http://doc.sequoiadb.com/cn/i…
【解决办法】
- 可以通过内置SQL的$LIST_CS视图获取,如集合空间名为”cs”,执行 db.exec(‘ select Domain from $LIST_CS where Name=”cs” ‘);即可返回cs的所属域。