嗨,我正在尝试为学校制作一个简单的食谱反应本机应用程序。
我是新手,对本机和noSQL做出反应。那么,如何在我的火力基础原生反应中查询呢?
我想做的是搜索特定的产品并获取包含该产品的所有食谱。接下来我想做的是能够添加另一个产品并找到一个同时包含它们等的食谱。
我的火力基地有这个设置:
在此处输入图像描述
注意:对于更复杂的查询,我建议使用云函数。
关于您的问题:在这样的数据结构下,使用 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
}