This显示了检查具有给定ID的节点是否存在的方法。 但是,我使用带有随机ID的push方法插入节点。 假设节点具有字段A,B和C. 在插入A = a1的节点之前,B = b1,C = c1。我想检查是否存在具有此组合的节点。
答案 0 :(得分:1)
您可以随时阅读并检查属性:
function checkData(data) {
return data.A === 'a1' && data.B === 'b1' && data.C === 'c1';
}
var ref = new Firebase('<my-firebase-app>/item');
ref.once('value', function(snap) {
var hasCombination = checkData(snap.val());
});
但您也可以编写安全规则,以便只存在该组合。使用安全规则编译器Bolt可以使这更容易,因为Bolt允许您将类型映射到路径。
type Data {
a: String;
b: String;
c: String;
}
path /data is Data;
此代码生成一组验证规则,确保只有String
,A
和B
C
属性的对象保存到{{ 1}}路径。
答案 1 :(得分:1)
正如David的回答中所写,我们可以阅读和检查。然而,他没有提到我们何时想要检查多个子节点。在这种情况下,forEach方法会有所帮助。因此,我们可以使用forEach为每个chlid应用David的解决方案。