文档在Firestore中删除后显示

时间:2018-02-10 22:46:20

标签: firebase google-cloud-firestore

我的Firestore帐户出现了奇怪的行为,在控制台上我选择collection然后点击Delete all documents,表示所有内容都已成功删除。刷新数据时,集合将显示所有已删除的数据。我没有任何服务在任何地方这样做,并想知道可能导致这种情况。有解决方案吗?

除此之外,我对控制台上的文档字段所做的任何更改都是成功的,但在刷新后会丢失。

4 个答案:

答案 0 :(得分:3)

我今天经历过类似的行为,以前我还没见过。我从Firestore控制台删除了文档,但我的应用程序仍在成功获取它们。现在,在目睹这种行为后大约一个小时,一切都恢复正常,我的控制台删除会立即在设备上看到。

我认为这是Firestore中的一个小故障 - 毕竟它还处于测试阶段。

答案 1 :(得分:2)

我尝试了所有可能的方法,我必须在Json文件中备份整个Firestore DB,然后从控制台删除项目并创建一个新项目。我认为这是Firestore的问题,因为我在启动Firestore之前创建了项目,可能需要创建一个新项目。

答案 2 :(得分:0)

今天(7/1/18)发生在我身上。在完全注销Firebase之后再重新登录后,我能够删除文档并将它们永久删除。

答案 3 :(得分:0)

发生这种情况是因为您的应用正在使用缓存内存而不是实际数据。您必须禁用缓存并重新启用网络。

对于 iOS:

// disable cache
let settings = FirestoreSettings()
settings.isPersistenceEnabled = false
let db = Firestore.firestore()
db.settings = settings

// call your queries inside this layer

Firestore.firestore().enableNetwork { (error) in
// Do online things

}

对于安卓/Java:

// disable cache
FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
    .setPersistenceEnabled(false)
    .build();
db.setFirestoreSettings(settings);

// enable network
db.enableNetwork()
    .addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            // Do online things
            // ...
        }
    });

您可以在https://firebase.google.com/docs/firestore/manage-data/enable-offline

阅读更多信息