【问题标题】:Restheart aggregations: send dynamic $match query using $varRestheart 聚合:使用 $var 发送动态 $match 查询
【发布时间】:2019-05-20 17:11:39
【问题描述】:

我可以在 avars 中发送 JSON 来动态创建 $match 过滤器查询,如下所示:

    {
        "type": "pipeline",
        "uri": "myaggr",
        "stages": [{
                "$match": {"$var":"n"}
            }......}

我必须传递 JSON 来代替 {"$var":"n"}

请告诉我我们在 Restheart 中是否有这个选项...

【问题讨论】:

    标签: mongodb django-rest-framework aggregation-framework restangular restheart


    【解决方案1】:

    在聚合中定义了 `{"$var": "n"},您可以通过查询参数传递变量

    GET /db/coll/_aggrs/myaggr?n={"all":{"the":{"json":"you want"}}}
    

    但是,为了避免查询注入,您不能通过聚合变量传递 MongoDB 运算符,除非您通过在配置文件中设置以下选项明确允许它:

    ### Security
    
    # Check if aggregation variables use operators. allowing operators in aggregation variables 
    # is risky. requester can inject operators modifying the query
    
    aggregation-check-operators: true
    

    您可以在 https://restheart.org/learn/aggregations/#passing-variables-to-aggregation-operations 找到有关将变量传递给聚合的所有文档

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-18
      • 2020-08-06
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-19
      • 1970-01-01
      相关资源
      最近更新 更多