javascript - 如何在 firebase 中查询给定键的多个值

标签 javascript firebase firebase-realtime-database

我试图在 equalTo() 方法中使用“OR”|| 语句,但这似乎不起作用。我是否必须为每个值单独调用,或者有没有办法在 firebase 中进行条件查询?

export const startSetContent = () => {
  return (dispatch, getState) => {
    const ref = database.ref("content");
    return ref
      .orderByChild("category")
      .equalTo('one-act-play' || 'ten-min-play' || 'full-length-play')
      .once('value')
      .then(snapshot => {
        const content = [];
        snapshot.forEach(childSnapshot => {
          content.push({
            id: childSnapshot.key,
            ...childSnapshot.val()
          });
        });
        dispatch(setContent(content));
      });
  };
}; 

最佳答案

你在那里输入的是一个逻辑或,JavaScript 编程语言会解释它。表达式的结果:

'one-act-play' || 'ten-min-play' || 'full-length-play'

将是简单的:

'one-act-play'

因此,Firebase 实时数据库不会看到您试图告诉它的内容。

Firebase 实时数据库没有包含 OR 的查询的概念。您必须分别查询每种类型的事物,然后根据需要将它们合并到您的代码中。

关于javascript - 如何在 firebase 中查询给定键的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48234955/

相关文章:

javascript - Sinon 监视未注册的 console.log 调用

javascript - 如何使用 Youtube API V3 获取视频 RTSP 链接?

javascript - Firebase:初始化由集合组成的树

java - 编译 Firebase 和 Google?

node.js - 代码没有更新以及如何知道是否正在发生迭代?

reactjs - 在 React 上渲染 Firebase 列表

Javascript - 除一部分外 Canvas 变暗/变暗

javascript - JS 拆分变量

javascript - 如何在 firebase 函数的子级之一的写入触发器上从数据库读取任何数据?

java - 从特定的 userID firebase 回收器适配器获取键值