Javascript Can';t检查firebase中是否存在唯一id容器导致的数据
我正在使用firebase存储数据。因此,它包含在唯一id中,例如:Javascript Can';t检查firebase中是否存在唯一id容器导致的数据,javascript,json,database,firebase,Javascript,Json,Database,Firebase,我正在使用firebase存储数据。因此,它包含在唯一id中,例如: ref.push({ myObject: { title: "Some Title" } }); 这是它在数据库中的显示方式: 我需要检查我正在推送到firebase的数据是否不存在,因此比较正在推送到数据库中存储的所有myObject实例的myObject。我不知道该怎么做,因为有这些唯一的id在它们里面嵌套myObject实例 注意:这只是一个例子,实际上myObject包含的子对象远远多于ti
ref.push({
myObject: {
title: "Some Title"
}
});
这是它在数据库中的显示方式:
我需要检查我正在推送到firebase的数据是否不存在,因此比较正在推送到数据库中存储的所有myObject
实例的myObject
。我不知道该怎么做,因为有这些唯一的id在它们里面嵌套myObject
实例
注意:这只是一个例子,实际上myObject
包含的子对象远远多于title,因此需要对每个子对象进行比较,从而得到整个myObject
对firebase的引用:var ref=new firebase('https://myurl.firebaseio.com/Objects');代码>
我试图通过安全检查和应用程序代码来解决这个问题,但这个独特的id确实让我对它如何嵌套myObject感到困惑
相关资源:由于要比较完整的对象(所有属性),正确的解决方案是在保存时生成哈希字符串。这个散列实际上是您的“唯一id/主键”,所以您很容易知道是否存在,并可以选择覆盖/合并/等等
在firebase中,不要使用push(因为您不需要优先级),而是将您的结构设置为:/myObjects/={…}
或使用另一个支持索引列表,如@mccannf link所示:唯一ID将由firebase安全规则中的所谓$variable覆盖:。但在Firebase安全语言中无法测试Firebase中是否已经存在双嵌套子级。也没有办法查询所选数据结构中标题
上的所有对象
。听起来你可能需要一个不同的数据结构。@FrankvanPuffelen我愿意接受建议,如果你能提供替代的数据结构和比较方法,那太棒了。@FrankvanPuffelen我目前唯一的要求是能够将存储在唯一id实例中的信息与推送到数据库中的信息进行比较。可能重复:@mccannf我觉得应该有一个更直接的解决方案?所有这些散列似乎都是实现这一点的复杂方式。