我正在创建一个购物清单应用程序,用于在用户列表中存储食物ID。此列表的名称是使用.push方法生成的,该方法在用户注册时触发一次,并始终保持不变。我需要在编辑食物属性的其他页面上检索此值。
这是我的数据库结构:
"userlist" : {
{
"-L-i60DHuiX6jba6TZLt" : {
"list" : {
"-L-4FJ9EaFjtDT_7XO6c" : {
"category" : "Beverages",
"foodname" : "7Up",
"state" : "on"
},
"-L-i4dIBkloIxZPtY3Ge" : {
"category" : "bread",
"foodname" : "toast",
"state" : "on"
}
}
}
}
}
如何检索显示的第一个值“-L-i60DHuiX6jba6TZLt”?
答案 0 :(得分:0)
push()方法不会返回生成的密钥,即使它是在本地生成的。
因此,在这种情况下,您应该生成自己的密钥,您可以在应用程序中保留该密钥,而不是使用push()。
// Generate new key (client side)
let newKey = ref.push().key();
然后,您可以只调用特定对象ref上的set()或update(),而不是推送到列表(它还不存在)。
ref(`/userlist/${newKey}`).set({ category: 'bread' });