javascript - 由于唯一的 id 容器,无法检查 Firebase 中是否存在数据

标签 javascript json database firebase

我正在使用.push()将数据存储在 firebase 中。因此,它包含在唯一的 id 中,例如:

ref.push({
   myObject: {
      title: "Some Title"
   }
});

这是它在数据库中的显示方式:

enter image description here

我需要检查我推送到 firebase 的数据是否不存在,因此比较推送到存储在中的所有 myObject 实例的 myObject数据库。我不知道如何做到这一点,因为这些唯一的 id 嵌套在其中的 myObject 实例。

注意:这只是现实中的一个示例 myObject 包含的子项比标题多得多,因此需要比较每个子项,因此需要比较整个 myObject

引用 firebase:var ref = new Firebase('https://myurl.firebaseio.com/Objects');

我尝试在应用程序代码中通过安全检查来解决这个问题,但这个唯一的 id 确实让我困惑于它如何嵌套 myObject。

相关资源:http://firebase.com

最佳答案

由于您想要比较完整的对象(所有属性),正确的解决方案是在保存时生成哈希字符串。这个哈希值实际上就是你的“唯一ID/主键”,所以你可以很容易地知道它是否存在,并可以选择覆盖/合并/等等...

在 firebase 中,不要使用推送(因为您不需要优先级),但请将结构设置为:/myObjects/<hashkey> = {...}或使用另一个支持索引列表,如 @mccannef 链接所建议:Check firebase for an existing object based on attributes, prevent duplicates

关于javascript - 由于唯一的 id 容器,无法检查 Firebase 中是否存在数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32636265/

相关文章:

javascript - 在<thead/>中迭代时如何选择模板?

Javascript 将行添加到 Javascript 生成的表中

php - mysql_query 没有正确插入行

mysql - SQL如何为一张表创建索引,使其可以从多张表中返回满足要求的结果?

mysql - 如何改进SQL查询

javascript - 如何从 RCP 中的文本字段中提取值并将其放入 Javascript 代码中?

javascript - 在我的函数中,它运行 document.write 是我指定的 10 倍

python - 在python中将列表转换为字典

c# - 将字符串列表转换为json格式

java - 如何检查 JSONArray 元素是否为空