• $all
    • 语法
    • 描述
    • 示例

    $all

    语法

    1. { <字段名>: { $all: [ <值1>, <值2>, ... ] } }

    描述

    $all 的操作对象是数组类型的字段名,选择“<字段名>”包含所有给定数组“[ <值1>, <值2>, … ]”中的值。

    示例

    在集合 foo.bar 插入2条记录:

    1. > db.foo.bar.insert( { "name": [ "Tom", "Mike", "Jack" ] } )
    2.  
    3. > db.foo.bar.insert( { "name": [ "Tom", "John" ], "age": 20 } )

    SequoiaDB shell 运行如下:

    • 查询集合 foo.bar 所有“name”字段的值包含“Tom”和“Mike”的记录。
    1. > db.foo.bar.find( { "name": { "$all": [ "Tom", "Mike" ] } } )
    2. {
    3. "_id": {
    4. "$oid": "582187282b4c38286d000001"
    5. },
    6. "name": [
    7. "Tom",
    8. "Mike",
    9. "Jack"
    10. ]
    11. }
    12. Return 1 row(s).
    • 使用 $all 匹配非数组类型的字段,效果和 equal 一样:
    1. > db.foo.bar.find( { "age": { "$all": [ 20 ] } } )
    2. {
    3. "_id": {
    4. "$oid": "58218a132b4c38286d000002"
    5. },
    6. "name": [
    7. "Tom",
    8. "John"
    9. ],
    10. "age": 20
    11. }
    12. Return 1 row(s).
    13.  
    14. > db.foo.bar.find( { "age": 20 } )
    15. {
    16. "_id": {
    17. "$oid": "58218a132b4c38286d000002"
    18. },
    19. "name": [
    20. "Tom",
    21. "John"
    22. ],
    23. "age": 20
    24. }
    25. Return 1 row(s).