嗨,我正在努力制作一个简单的食谱,为学校做出原生应用。
我退出了新的反应本机和noSQL。那么我如何查询我的firebase本地的反应?
我想要做的是搜索特定产品并获得包含此产品的所有食谱。接下来我要做的就是能够做到 添加另一个产品并找到包含它们的配方等等。
我的firebase有这个设置:
答案 0 :(得分:0)
注意:对于更复杂的查询,我建议使用cloud functions。
关于您的问题:您的数据结构如下,使用firebase sdk提供的查询无法实现您想要的效果。问题是您的食谱包含ingredient1: 5505
,ingredient2: 4404
...将这些更改为5505: true
,4404: true
。然后像这样使用sdk:
const getRecipesForProduct = async (productName) => {
const product = await firebase.database().ref('products').orderByChild("name").equalTo(productName).once('value').then(snap => {...snap.val(), uid: snap.key()})
const recipes = await firebase.database().ref('recipe').orderByChild(product.uid).equalTo(true).once('value').then(snap => snap.val())
// do something with recipes
}