【发布时间】:2018-01-15 17:07:02
【问题描述】:
我试图在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));
});
};
};
【问题讨论】:
-
Firebase 不提供使用条件查询的方法。请查看this answer 了解更多详情。
-
您可能还想看看Firestore,它提供了比实时数据库更好的查询功能
-
firestore 是否足够稳定,可以在生产环境中使用?我看到它仍处于测试阶段,所以我有点厌倦了。
-
@RosárioPereiraFernandes 不幸的是Firestore also doesn't support OR conditions。
标签: javascript firebase firebase-realtime-database