如何使用Ionic 3从firebase删除数据

时间:2017-10-01 14:38:16

标签: angular typescript ionic-framework

我使用离子3以具有这些功能的聊天/消息的形式从firebase获取数据

getChats(userTwoId: string) {
   return this.auth.getAuthenticatedUser()
  .map(auth => auth.uid)
  .mergeMap(uid => this.database.list(`/user-messages/${uid}/${userTwoId}`))
  .mergeMap(chats => {
    return Observable.forkJoin(
      chats.map(chat => 
this.database.object(`/messages/${chat.$key}`).first()),
      ( ...vals: Message[]) => {
        // console.log(vals);
        return vals;
      }
    )
  })
 }

getLastMessagesForUser(): Observable<Message[]> {
   return this.auth.getAuthenticatedUser()
   .map(auth => auth.uid)
   .mergeMap(authId => this.database.list(`/last-messages/${authId}`))
   .mergeMap(messageIds => {
   return Observable.forkJoin(
    messageIds.map(message => {
      return this.database.object(`/messages/${message.key}`)
        .first()
    }),
    (...values) => {
      return values;
    }
  )
})
}

如何使用函数删除这些聊天和lastmessages? 请有人帮帮我

1 个答案:

答案 0 :(得分:1)

你需要从有问题的firebase对象中获取密钥,通常这是.$key值,一旦你有了,你可以使用.remove()功能,假设你正在使用离子3 w / angularfire2

例如:

this.db.object('messages/' + chatKey).remove();

在这个例子中,我们假设在我的firebase中,我的节点是消息,它有一个子节点,键是chatKey。您需要事先定义chatKey或将 chatKey 替换为您自己的.$key

变量