Javascript Firebase是否发送给定路径下的所有数据?

Javascript Firebase是否发送给定路径下的所有数据?,javascript,firebase,vue.js,nosql,denormalization,Javascript,Firebase,Vue.js,Nosql,Denormalization,对于Firebase自动获取多少数据,我有点困惑,我很难对数据进行建模 据我所知,经过身份验证的用户ID与路径相比较;如果缺少密钥,则无法访问路径。此外,一旦调用路径,就会访问其中的所有数据 例如,获取/cart/还包括$uid1、$uid、$uid3$uidN等。如果我将所有数据嵌套在/下,比如: //购物车 //订单 //交易 这是否意味着获取//cart也会返回所有其他键?如果我只调用 如果结构由cart/或orders/代替,这是否意味着所有用户的所有订单都已提取 换句话说,当用户登录时

对于Firebase自动获取多少数据,我有点困惑,我很难对数据进行建模

据我所知,经过身份验证的用户ID与路径相比较;如果缺少密钥,则无法访问路径。此外,一旦调用路径,就会访问其中的所有数据

例如,获取
/cart/
还包括$uid1、$uid、$uid3$uidN等。如果我将所有数据嵌套在
/
下,比如:

//购物车

//订单

//交易

这是否意味着获取
//cart
也会返回所有其他键?如果我只调用

如果结构由
cart/
orders/
代替,这是否意味着所有用户的所有订单都已提取

换句话说,当用户登录时,我希望检索购物车的内容(使用其中一个“模式”):

// Fires onAuthStateChanged()
firebaseListener(function authStateChange(loggedIn, user) {
  if (store) {
    if (user) {
      store.dispatch('getShoppingCart', { uid: user.uid, currentCart: store.getters.cartItemList });
      store.dispatch('setUser', user);
    }
  }
})
getShoppingCart
然后运行类似于:

let ref = db.ref('/cart/' + store.state.uid + '/')
ref.on('value', (snapshot) => {
  store.cart.concat(snapshot)
})

当用户登录时,您正在检索该用户的信息,因此当您使用
uid
时,您正在检索该登录用户的id

使用此
ref('/cart/'+store.state.uid+'/')
时,它将首先转到
cart
节点,然后是该用户的
uid
,而不是位于carts下的所有用户标识


您也可以使用
一次('value')。然后(函数(快照){
,它将只读取一次数据,不会再次触发。

请添加一些(伪)代码来解释在这种情况下抓取的含义。@AndréKool就这么简单;我的问题更多的是关于设计模式。如果cart是第一位的,userID是第二位的,这是否意味着以这种方式访问路径意味着,如果不是在快照中,至少会考虑每个子用户cart?我认为您混淆了安全规则($uid通配符)和firebase中的实际读/写。您可以链接到从何处获取此信息吗?