jquery - 在 Firebase 中创建新目录并插入数据

标签 jquery firebase

我想在 Firebase 中动态创建五个新目录。我也想动态地在这些目录中插入数据。我为此目的编写了这个 jquery 脚本。

for(var i=0; i<5; i++) {
 var dataRef = new Firebase('https://blr-reaction-buttons.firebaseio.com/' + i);
 dataRef.on('value', function (snapshot) {
  var tempdata = snapshot.val();
  if (!tempdata) {
   tempdata=50;
   dataRef.set(tempdata);
  }
 });
}

但它没有创建多个目录,而是只创建一个目录(实际上是最后一个目录)(下图)...

generated directory of my firebase script

我只是不明白为什么会发生这种情况。请帮忙。任何形式的帮助将不胜感激。提前致谢。

最佳答案

Firebase 并没有真正的目录,而是所有内容都是 JavaScript 对象。这意味着最接近目录的是包含另一个对象的键:)

换句话说,我假设您希望在 Forge 中看到类似的内容: firebase forge

要使您的 Firebase 看起来像这样,您可以在本地创建一个 JavaScript 对象并使用 set 将其保存到根节点。然后,您可以使用读取回调value来监听更改。下面是实现此功能的代码:

<html>
<head>
  <script src='https://cdn.firebase.com/js/client/1.0.15/firebase.js'></script>
  <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js'>
  </script>
</head>
<body>

<script>
  /* Write 5 numbered objects, each set to 50 */

  // Create a new Firebase data reference to the root
  var dataRef = 
      new Firebase('https://test-firebase-please-ignore.firebaseio.com/');
  // Create a JavaScript object to hold stuff
  var tempData = {};
  // Add 5 things to it
  for(var i=0; i<5; i++) {
    tempData[i] = {value: 50};
  }
  // Save it to Firebase
  dataRef.set(tempData);


  /* Meanwhile, create a listener that gets updates when the data changes */

  dataRef.on('value', function(snapshot) {
    // Log the whole thing
    console.log(snapshot.val());
  });
</script>
</body>
</html>

关于jquery - 在 Firebase 中创建新目录并插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25024882/

相关文章:

javascript - 如何实现点击图片时下拉子页面显示详细信息?

javascript - jQuery AJAX 后的重定向问题

jquery - 在文本冒号 ":"之前的 <li></li> 之间将不同的样式包装到特定文本?

python - GeoPoint 类型的对象不是 JSON 可序列化的

javascript - 从 json 对象中检索对象

javascript - CSS:jQuery:将 margin-right 应用于 li 元素,除了每个第 4 个子元素(仅适用于 display:block 的元素)

firebase - 允许特定用户写访问

由于 firebase-storage :11. 0.2 依赖性,Android 应用程序构建失败

node.js - 将 Firestore 依赖项和类型导入到 node.js

ios - 相当于 push() 的 Firebase Swift