如何在Firebase中删除具有多个子项的对象?

时间:2016-06-12 18:05:35

标签: ios objective-c firebase firebase-realtime-database

我正在尝试删除Firebase数据库中包含多个子项的对象。我的数据设置如下:

Attempting to delete, -KK4kr7tBDN-2whVrjbJ

我在iOS应用中运行以下代码:

[[ref child:[NSString stringWithFormat:@"/playlistSongs/%@", playlistObject[@"firebaseID"], nil]] removeValueWithCompletionBlock:^(NSError * _Nullable error, FIRDatabaseReference * _Nonnull ref) {
                        if (error) {
                            NSLog(@"ERROR: %@", error.localizedDescription);
                        } else {
                            NSLog(@"DELETED!");
                        }
                    }];

当此代码运行时,删除!在日志中输出。但是,该对象仍保留在我的firebase数据库中。是否可以删除多个子对象?查看文档here,它表明我应该能够这样做。如果有人能指出我正确的方向,那就太好了。

3 个答案:

答案 0 :(得分:3)

有时候更简单更好:

Firebase *ref = path to the parent node
[ref setValue: nil];

答案 1 :(得分:1)

删除值功能对我有用

[[[_ref child:@"playlistSongs"] child:snapshot.key] removeValue];

答案 2 :(得分:0)

如果你站在"播放列表歌曲,那应该会更好。并使用nil param调用updateChildValues。