SdbSnapshotOption

指定快照查询参数。

包括指定选择条件、返回字段名、排序情况、快照参数以及对返回结果集的处理等参数。

语法

SdbSnapshotOption[.cond(<cond>)]
          [.sel(<sel>)]
          [.sort(<sort>)]
          [.options(<options>)]
          [.skip(<skipNum>)]
          [.limit(<retNum>)]

SdbSnapshotOption[.cond(<cond>)][.skip(<skipNum>)][.limit(<retNum>)]

SdbSnapshotOption[.cond(<cond>)].options(<options>)

方法

cond(<cond>)

选择条件。

参数名参数类型描述是否必填
condJson 对象选择条件,只返回 cond 字段指定的节点或分区组的快照信息,为 null 时,返回整个集群的快照信息。

sel(<sel>)

查询返回记录的字段名。

参数名参数类型描述是否必填
selJson 对象选择返回字段名。为 null 时,返回所有的字段名。

Note:

  • sel 参数是一个json结构,如:{字段名:字段值},字段值一般指定为空串。sel中指定的字段名在记录中存在,设置字段值不生效;不存在则返回sel中指定的字段名和字段值。
  • 记录中字段值类型为数组的,我们可以在sel中指定该字段名,用”.”操作符加上双引号(“”)来引用数组元素。

sort(<sort>)

查询返回记录的字段名。

参数名参数类型描述是否必填
sortJson 对象指定结果集按指定字段名排序的情况。字段名的值为1或者-1,如:{“name”:1,”age”:-1}。1代表升序;-1代表降序。 如果不设定 sort 则表示不对结果集做排序。

options(<options>)

查询返回记录的字段名。

参数名参数类型描述是否必填
optionsJson 对象指定快照参数,因不同快照类型而异,在对应快照类型查看选项及示例。目前拥有快照参数的有配置快照

options选项

参数名参数类型对应快照描述是否必填
ModeString配置快照指定返回配置的模式。在 run 模式下,显示当前运行时配置信息,在 local 模式下,显示配置文件中配置信息。如 { “Mode”: “local” }。默认为 run。
ExpandBool/String配置快照是否扩展显示用户未配置的配置项。如 { “Expand”: false }。默认为 true。
ShowErrorStringALL指定是否返回错误信息。在 show 模式下,显示错误信息,在 only 模式下,只显示错误信息,不显示其他快照信息,在 ignore 模式下,不显示错误信息。如 { “ShowError: “only” }。默认为 show。
ShowErrorModeStringALL指定返回错误信息的格式。在 aggr 模式下,错误信息聚合为一条记录显示,在 flat 模式下,一个错误节点对应一条记录显示。如 { “ShowErrorMode”: “flat” }。默认为 aggr。

Note:

  • ShowError 参数和 ShowErrorMode 参数只在协调节点执行快照生效。
  • ShowError 参数和 ShowErrorMode 参数仅支持会返回错误信息的快照。
  • 当 ShowError 参数为 ignore 的情况下,ShowErrorMode 参数不起作用。
  • 特别地,当 ShowErrorMode 参数为 flat 的情况下,对系统快照数据库快照不起作用 。

skip(<skipNum>)

查询返回记录的字段名。

参数名参数类型描述是否必填
skipNumint自定义从结果集哪条记录开始返回。默认值为0,表示从第一条记录开始返回。

Note:

如果不设定 skipNum 的内容或者设定 skipNum 的值为0,相当于返回所有的结果集;如果想从结果集的第3条记录开始返回,可是设置 skipNum 的值等于2。

limit(<retNum>)

查询返回记录的字段名。

参数名参数类型描述是否必填
retNumint自定义返回结果集的记录条数。默认值为-1,表示返回从skipNum位置开始到结果集结束位置的所有记录。

Note:

如果不设定 retNum 的内容,相当于返回所有的结果集记录。如果想返回结果集的前5条记录,可设置 retNum 的值为5。

返回值

返回自身,类型为 SdbSnapshotOption。

错误

错误码

示例

  • 通过组名或组 ID 查询某个分区组的快照信息,如:

    1. > var option = new SdbSnapshotOption().cond( { GroupName:'data1' } )
    2. > db.snapshot( SDB_SNAP_CONTEXTS, option )
    3. {
    4. "SessionID": "vmsvr1-cent-x64-1:11820:22",
    5. "Contexts": [
    6. {
    7. "ContextID": 11,
    8. "Type": "DUMP",
    9. "Description": "BufferSize:0",
    10. "DataRead": 0,
    11. "IndexRead": 0,
    12. "QueryTimeSpent": 0,
    13. "StartTimestamp": "2013-12-28-16.13.57.864245"
    14. }
    15. ]
    16. }
    17. {
    18. "SessionID": "vmsvr1-cent-x64-1:11840:23",
    19. "Contexts": [
    20. {
    21. "ContextID": 10,
    22. "Type": "DUMP",
    23. "Description": "BufferSize:0",
    24. "DataRead": 0,
    25. "IndexRead": 0,
    26. "QueryTimeSpent": 0,
    27. "StartTimestamp": "2013-12-28-16.13.57.865103"
    28. }
    29. ]
    30. }
  • 通过“组名+主机名+服务名”或“组 ID+节点 ID”查询某个节点的快照信息,如:

    1. > var option = new SdbSnapshotOption().cond( { GroupName: 'data1', HostName: "vmsvr1-cent-x64-1", svcname: "11820" } )
    2. > db.snapshot( SDB_SNAP_CONTEXTS, option )
    3. {
    4. "SessionID": "vmsvr1-cent-x64-1:11820:22",
    5. "Contexts": [
    6. {
    7. "ContextID": 11,
    8. "Type": "DUMP",
    9. "Description": "BufferSize:0",
    10. "DataRead": 0,
    11. "IndexRead": 0,
    12. "QueryTimeSpent": 0,
    13. "StartTimestamp": "2013-12-28-16.13.57.864245"
    14. }
    15. ]
    16. }
  • 通过“主机名+服务名”查询某个节点的快照信息,如:

    1. > var option = new SdbSnapshotOption().cond( { HostName: "ubuntu-200-043", ServiceName: "11820" } )
    2. > db.snapshot( SDB_SNAP_CONTEXTS, option )
    3. {
    4. "NodeName": "ubuntu-200-043:11820",
    5. "SessionID": 18,
    6. "Contexts": [
    7. {
    8. "ContextID": 31,
    9. "Type": "DUMP",
    10. "Description": "IsOpened:1,HitEnd:0,BufferSize:0",
    11. "DataRead": 0,
    12. "IndexRead": 0,
    13. "QueryTimeSpent": 0,
    14. "StartTimestamp": "2016-10-27-17.53.45.042061"
    15. }
    16. ]
    17. }
  • 查看数据组 db1 中数据节点 20000 上配置文件中的配置信息并指定快照参数。

    1. > var option = new SdbSnapshotOption().cond( { GroupName:'db1', ServiceName:'20000' } ).options( { "mode": "local", "expand": false } )
    2. > db.snapshot( SDB_SNAP_CONFIGS, option )
    3. {
    4. "NodeName": "ubuntu-zwb:20000",
    5. "dbpath": "/home/equoiadb/20000/",
    6. "ServiceName": "20000",
    7. "diaglevel": 3,
    8. "role": "data",
    9. "catalogaddr": "ubuntu-zwb:30003,ubuntu-zwb:30013,ubuntu-zwb:30023",
    10. "perfstat": "FALSE",
    11. "businessname": "yyy",
    12. "clustername": "xxx"
    13. }
    14. Return 1 row(s).
  • 同时查看主表和各个子表的记录数。

    1. > var option = new SdbSnapshotOption().sel({ "Name": "", "Details.Group.TotalRecords": "" }).options({ "ShowMainCLMode": "both" });
    2. Takes 0.000373s.
    3. > db.snapshot( SDB_SNAP_COLLECTIONS, option )
    4. {
    5. "Name": "cs.mainCL",
    6. "Details": [
    7. {
    8. "Group": [
    9. {
    10. "TotalRecords": 249
    11. }
    12. ]
    13. }
    14. ]
    15. }
    16. {
    17. "Name": "cs.subCL01",
    18. "Details": [
    19. {
    20. "Group": [
    21. {
    22. "TotalRecords": 198
    23. }
    24. ]
    25. }
    26. ]
    27. }
    28. {
    29. "Name": "cs.subCL02",
    30. "Details": [
    31. {
    32. "Group": [
    33. {
    34. "TotalRecords": 51
    35. }
    36. ]
    37. }
    38. ]
    39. }
    40. Return 3 row(s).