【问题标题】:Get nodes by USER_ID (query)通过 USER_ID 获取节点(查询)
【发布时间】:2016-10-21 20:01:47
【问题描述】:

我有订单。每个订单都有商品。

每个订单和每个项目都由用户分配。

以下是我的每个订单的物品清单:

是否可以获得USER_1_ID?分配的所有节点的列表或者我必须改变我的结构?

在这种情况下:返回节点号 151 的查询

【问题讨论】:

  • 用你的编程语言标签更新你的问题
  • 对此感到抱歉。我确信使用 firebase 查询的所有人都是一样的。我正在使用 Angular 2

标签: javascript angular firebase firebase-realtime-database nosql


【解决方案1】:

您正在寻找过滤数据:

var root = firebase.database().ref();
var query = root.child("order_items").orderByChild("user").equalTo("USER_1_ID");
query.on("child_added", function(snapshot) {
  console.log(snapshot.key);
});

或者,如果您想一次性获取项目,您可以监听 value 事件并在您到达那里的快照中迭代子项:

query.on("value", function(snapshot) {
  snapshot.forEach(function(child) {
    console.log(child.key);
  });
});

我建议您阅读 Firebase 文档,特别是 section on filtering data

【讨论】:

  • 我不确定您是否注意到 - 在您的代码中,您在第二个节点上使用 .orderByChild("user"),而带有 user 的节点是第三级。您的代码能否正常工作并返回每个订单中的商品结果,还是仅针对特定订单?
  • 对不起,只有我一个人,谢谢!
猜你喜欢
  • 2011-09-10
  • 2021-05-15
  • 2021-10-11
  • 1970-01-01
  • 2013-10-04
  • 2019-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多