База данных Firebase в реальном времени стерта - PullRequest
0 голосов
/ 03 марта 2019

Я использую базу данных Firebase в реальном времени в своем собственном приложении.Большинство вещей делается с помощью облачных функций REST API.Немного вещей в приложении используют непосредственно базу данных в реальном времени.В последнее время я заметил, что без видимой причины все данные в моей базе данных были стерты.Даже части базы данных, которые больше не используются и на которые нет ссылок в исходном коде моего приложения / облачных функций, исчезли.

Проблема возникает с двумя проектами и их базами данных (производство / тестирование).Я должен использовать резервные копии для их восстановления, но это происходит снова, даже если никто не использует приложение (например, в тестовой среде).

Кто-нибудь знает, что может быть источником этой проблемы?У меня есть части, отвечающие за удаление некоторых частей данных, но невозможно, чтобы все работали одновременно.Как мне устранить это?Как можно удалить все данные одновременно?

Мои правила безопасности следующие:

{
  "rules": {
    "version": {
      ".read": true,
      ".write": false
    },
    "flatLocations": {
      ".read": false,
      ".write": false
    },
    "geoplaces": {
      ".read": false,
      ".write": false,
      ".indexOn": "g"
    },
    "locations": {
      ".read": true,
      ".write": false
    },
    "locationSubscriptions": {
      ".read": false,
      ".write": false
    },
    "profiles": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    },
    "subscriptionCodes": {
      ".indexOn": "vendingPointId",
      ".read": false,
      ".write": false
    },
    "usersRoles": {
      ".read": false,
      ".write": false
    },
    "usersSubscriptions": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": false
      }
    },
    "vendingPoints": {
      ".read": false,
      ".write": false,
      ".indexOn": "vendorId"
    },
    "customersBasicData": {
      ".read": false,
      ".write": false
    },
    "notificationTokens": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    },
    "scheduled": {
      ".read": false,
      ".write": false
    }
  }
}

Некоторые данные только добавляются.У меня нет кода, чтобы удалить их.

1 Ответ

0 голосов
/ 04 марта 2019

Проблема была undefined используется в качестве ссылки.Когда вы запускаете admin.database().ref(somethingWhichIsUndefined).remove(), вся база данных уменьшается.

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