Я использую 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, только соответствующий текущему пользователю.пожалуйста помогите :) Спасибо.