Как я могу сопоставить текущий идентификатор пользователя со значением базы данных Firebase? - PullRequest
0 голосов
/ 03 декабря 2018

Я использую vue.js с firebase для покупок на сайте.Я могу получить текущий идентификатор пользователя, как это ниже.

 data () {
    return {
      cartitems: [],
      user: null,
    }
  },
  created(){

    //get current user
    db.collection('users').where('user_id','==',firebase.auth().currentUser.uid).get()
    .then(snapshot=>{
        snapshot.forEach(doc => {
            this.user =doc.data(),
            this.user.id = doc.id
        })
        console.log('get current user id')
        console.log(this.user.id)
        console.log(this.user.alias)    
    })

Это работает, и я могу получить текущий идентификатор пользователя и псевдоним.

В 'cartitems' я храню user.alias в 'user'.Я хочу показывать cartitem в cartitems только "текущий псевдоним пользователя = cartiems.user".но приведенный ниже код не работает.Это получает текущий псевдоним пользователя успешно, и я проверяю в консоли.

    db.collection('cartitems').where('user', '==', this.user.alias).get()
       .then(snapshot => {
        snapshot.forEach(doc => {
            this.cartitem = doc.data()
            this.cartitem.id = doc.id
            this.cartitems.push(cartitem) 

        })
       }).catch(function(error) {
         console.log("Error getting documents: ", error);
     })

, когда я получаю все cartitem в cartitem независимо от информации текущего пользователя, это работает.Код ниже.

    db.collection('cartitems').get()
    .then(snapshot =>{
      snapshot.forEach(doc =>{
        let cartitem = doc.data()
        cartitem.id =  doc.id
        this.cartitems.push(cartitem) 
      })
    })

Я хочу показать cartitem, только соответствующий текущему пользователю.пожалуйста помогите :) Спасибо.

1 Ответ

0 голосов
/ 03 декабря 2018

Сначала нужно проверить db.collection('cartitems').where('user', '==', this.user.alias).get().Это правильно или неправильно?Тогда я думаю, что это не сработало напрямую, как where('user', '==', this.user.alias) Вы должны получить первый ключ, и вы можете сравнить его, как в firebase, я надеюсь, вы понимаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...