首页 > 解决方案 > 如何在 JavaScript 中检查 firebase 中是否存在数据?

问题描述

我正在尝试检查数据是否存在于 Firebase 中。

假设我想检查天气是否vivank存在 Firebase 数据库截图

我用过这个。但它没有运行,也没有显示任何输出。

const firebaseRef = firebase.database().ref();

function check() {
  theDataToAdd = 'vivank'
  firebaseRef.once('value', function(snapshot) {
    if (snapshot.hasChild(theDataToAdd)) {
      alert('exists');
    }
  });
}

标签: javascriptfirebasefirebase-realtime-database

解决方案


您可以使用这样的代码来检查此类数据是否存在于您的 firebase 数据库中:

Ref.once('value', function(snapshot) {
  if (snapshot.hasChild(theDataToAdd)) {
    alert('exists');
  }
});

但这有点低效,因为它会先下载所有数据Ref,然后再进行检查。更有效的解决方案是:

Ref.child(theDataToAdd).once('value', function(snapshot) {
  if (snapshot.exists()) {
    alert('exists');
  }
});

这是有效的,因为它更针对引用的节点。


推荐阅读