BSONArray

BSON 数组。

数据类型的介绍可参考数组

语法

BSONArray.size()

BSONArray.more()

BSONArray.next()

BSONArray.pos()

BSONArray.toArray()

BSONArray.index()

BSONArray.toString()

方法

size()

获取 BSONArray 的大小。

more()

判断 BSONArray 下一条记录是否为空,返回 false 表示下一条记录为空。

next()

获取 BSONArray 的下一条记录。

pos()

获取 BSONArray 当前下标的记录。

toArray()

把 BSONArray 转化为普通数组。

index()

获取 BSONArray 当前的下标。

toString()

把 BSONArray 以字符串的形式输出。

错误

如果出错则抛异常,并输出错误信息,可以通过getLastErrMsg()获取错误信息或通过getLastError()获取错误码。 关于错误处理可以参考常见错误处理指南

常见错误可参考错误码

示例

  • 获取 BSONArray ( 关于 oma 的详解介绍可参考 oma )。

    1. > var oma = new Oma( "localhost", 11790 )
    2. > var bsonArray = oma.listNodes()
  • 获取 BSONArray 的大小。

    1. > bsonArray.size()
    2. 3
  • 判断 BSONArray 下一条记录是否为空。

    1. > bsonArray.more()
    2. true
  • 获取 BSONArray 的下一条记录。

    1. > bsonArray.next()
    2. {
    3. "svcname": "30010",
    4. "type": "sequoiadb",
    5. "role": "catalog",
    6. "pid": 8305,
    7. "groupid": 1,
    8. "nodeid": 2,
    9. "primary": 0,
    10. "isalone": 0,
    11. "groupname": "SYSCatalogGroup",
    12. "starttime": "2019-07-11-16.20.19",
    13. "dbpath": "/opt/trunk/database/30010/"
    14. }
  • 获取 BSONArray 当前下标的记录。

    1. > bsonArray.pos()
    2. {
    3. "svcname": "50000",
    4. "type": "sequoiadb",
    5. "role": "coord",
    6. "pid": 8308,
    7. "groupid": 2,
    8. "nodeid": 4,
    9. "primary": 1,
    10. "isalone": 0,
    11. "groupname": "SYSCoord",
    12. "starttime": "2019-07-11-16.20.19",
    13. "dbpath": "/opt/trunk/database/50000/"
    14. }
  • 把 BSONArray 转为普通数组。

    1. > var array = bsonArray.toArray()
    2. > array instanceof Array
    3. true
  • 获取 BSONArray 当前的下标。

    1. > bsonArray.index()
    2. 1
  • 把 BSONArray 以字符串的形式输出。

    1. > bsonArray.toString()
    2. {
    3. "svcname": "50000",
    4. "type": "sequoiadb",
    5. "role": "coord",
    6. "pid": 8308,
    7. "groupid": 2,
    8. "nodeid": 4,
    9. "primary": 1,
    10. "isalone": 0,
    11. "groupname": "SYSCoord",
    12. "starttime": "2019-07-11-16.20.19",
    13. "dbpath": "/opt/trunk/database/50000/"
    14. }
    15. {
    16. "svcname": "20000",
    17. "type": "sequoiadb",
    18. "role": "data",
    19. "pid": 8311,
    20. "groupid": 1000,
    21. "nodeid": 1000,
    22. "primary": 1,
    23. "isalone": 0,
    24. "groupname": "db1",
    25. "starttime": "2019-07-11-16.20.19",
    26. "dbpath": "/opt/trunk/database/20000/"
    27. }