【问题标题】:Firebase limit child nodes extension with wildcard?Firebase使用通配符限制子节点扩展?
【发布时间】:2020-03-13 07:25:04
【问题描述】:

我正在使用limit child nodes extension 成功地将一个节点限制为 3 个具有这样结构的子节点:

{
  "-LqRtMWFDSO3QRJDYA39" : {
    "r" : 0.84,
    "s" : "Mango"
  },
  "-LshaeOZsIRC80q_n4Kl" : {
    "r" : 0.49,
    "s" : "Strawberry"
  },
  "-Ltf2gql89DkVm--xLr3" : {
    "r" : 0.44,
    "s" : "Cheese"
  }
}

是否可以使用具有如下结构的扩展:

{
  "34DAvOOUO7N7vp28NtkdAAZp5vD3" : {
    "-Lshag6VI55LMps7Fe0G" : {
      "post" : true,
      "t" : "Brando"
    }
  },
  "35DDKxWrc8c1yERPf2QAYvRPAUb2" : {
    "-LocHP4oF6NzmS67yW8r" : {
      "post" : true,
      "t" : "Abby"
    },
    "-LscHPsdF6NzmE47sdD3r" : {
      "post" : true,
      "t" : "Abby "
    }
  }
}

我只需要将用户的通知限制为 15 个节点,但在指定路径时不知道第二个子节点,如果没有类似于云函数通配符参数的东西,我将无法执行此操作。

感谢您的帮助,干杯!

【问题讨论】:

    标签: node.js firebase firebase-realtime-database google-cloud-functions firebase-extensions


    【解决方案1】:

    是的,你可以这样做。

    由于这个扩展实际上是just a cloud function,你实际上可以在NODE_PATH参数中使用通配符格式(实际上,只是配置云函数的环境变量,以及它的触发器配置) .

    假设所有这些项目都在顶级节点“通知”中。

    那么你可以将参数设置为:

    notifications/{topId}

    这会将扩展的函数创建为 RTDB onCreate 方法,触发于:

    notifications/{topId}/{messageid}

    从而清理 2 级深度的通知集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-18
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多