• Regex
    • Json格式
    • 函数格式
    • 返回值
    • 错误
    • 示例

    Regex

    SequoiaDB支持使用正则表达式检索用户数据。

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

    Json格式

    • 语法

    { "$regex": , "$options": }

    • 参数描述

    参数名参数类型描述是否必填pattern字符串正则表达式字符串。是options字符串选项,详细见下表。是

    选项描述i匹配时不区分大小写。m允许进行多行匹配;当该参数打开时,字符“^”与“&”匹配换行符的之后与之前的字符。x忽略正则表达式匹配中的空白字符;如果需要使用空白字符,在空白字符之前使用反斜线“\”进行转意。s允许“.”字符匹配换行符。

    函数格式

    • 语法:

    Regex( , )

    • 参数描述

    参数名参数类型描述是否必填pattern字符串正则表达式字符串。是options字符串选项,详细见下表。是

    选项描述i匹配时不区分大小写。m允许进行多行匹配;当该参数打开时,字符“^”与“&”匹配换行符的之后与之前的字符。x忽略正则表达式匹配中的空白字符;如果需要使用空白字符,在空白字符之前使用反斜线“\”进行转意。s允许“.”字符匹配换行符。

    返回值

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

    错误

    错误信息记录在节点诊断日志(diaglog)中,可参考错误码。

    错误码可能的原因解决方法
    -6参数错误请参考示例。

    示例

    使用正则表达式匹配记录

    1. > db.foo.bar.insert( { a: "White" } )
    2. > db.foo.bar.insert( { a: "white" } )
    3. > db.foo.bar.insert( { a: "Black" } )
    4. > db.foo.bar.find( { a: { "$regex": "^W", "$options": "i" } } )
    5. {
    6. "_id": {
    7. "$oid": "58130a8eeefbe4c22d000006"
    8. },
    9. "a": "White"
    10. }
    11. {
    12. "_id": {
    13. "$oid": "58130a93eefbe4c22d000007"
    14. },
    15. "a": "white"
    16. }
    17. Return 2 row(s).
    18. Takes 0.4196s.
    19. > db.foo.bar.find( { a: Regex( "^W", "i" ) } )
    20. {
    21. "_id": {
    22. "$oid": "58130a8eeefbe4c22d000006"
    23. },
    24. "a": "White"
    25. }
    26. {
    27. "_id": {
    28. "$oid": "58130a93eefbe4c22d000007"
    29. },
    30. "a": "white"
    31. }
    32. Return 2 row(s).
    33. Takes 0.4145s.