Как удалить данные из пожарного магазина? - PullRequest
0 голосов
/ 01 сентября 2018

У меня есть коллекция под названием postsCollection, и внутри есть документы, которые я хочу удалить каждый.

Коллекция:

enter image description here

код:

delete () {
  fb.postsCollection.doc().delete().then(function() {
      console.log("Document successfully deleted!");
  }).catch(function(error) {
      console.error("Error removing document: ", error);
  });
}

Я не знаю, как определить doc() ...

Ответы [ 3 ]

0 голосов
/ 01 сентября 2018

Чтобы удалить документ, вам нужно знать его идентификатор. Это означает, что, если вы не знаете идентификаторы в коллекции, вам придется сначала прочитать документы из коллекции, чтобы удалить их.

В коде, который будет выглядеть так:

fb.postsCollection.get().then(function(querySnapshot) {
  querySnapshot.forEach(function(doc) {
    doc.ref.delete().then(function() {
      console.log("Document successfully deleted!");
    }).catch(function(error) {
      console.error("Error removing document: ", error);
    });
  })
})
0 голосов
/ 01 сентября 2018

Вы можете удалить документ, только если у вас есть ссылка на него. Чтобы получить это, вы должны сначала выполнить запрос, затем выполнить цикл по снимку запроса и, наконец, удалить каждый снимок документа на основе его ссылки.

var doucumentid = db.collection('posts').where('id','==',post.id);
doucumentid_query.get().then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
doc.ref.delete();
});
});
0 голосов
/ 01 сентября 2018

Чтобы удалить какой-либо документ из коллекции, вы должны передать uid этого документа. А затем вызовите метод delete().

var postsRef = db.collection('posts');
var query = postsRef.where('content', '==', 'color..').get()
    .then(snapshot => {
      snapshot.forEach(doc => {
        console.log(doc.id, '=>', doc.data());
        var deleteDoc = db.collection('posts').doc(doc.id).delete();
      });
    })
    .catch(err => {
      console.log('Error getting documents', err);
    });

Вы можете проверить, где обусловлено уникальное поле. В противном случае будут удалены все документы, имеющие «содержимое», равное «цвету». Точно так же вы можете использовать различные другие пункты, такие как>, <,> = и т. Д.

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