/
deleteFirestoreByTimestamp
44 lines (40 loc) · 1.08 KB
/
deleteFirestoreByTimestamp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//This Cloud Function delete a document form a Firestore Database when its field "timestamp" its older than the current date
//index.js
//___________________________________________
const Firestore = require('@google-cloud/firestore');
const PROJECTID = 'funcfirestore';
const COLLECTION_NAME = 'users';
const firestore = new Firestore({
projectId: PROJECTID,
});
exports.helloWorld = (req, res) => {
firestore.collection('users').get()
.then((snapshot) => {
snapshot.forEach((doc) => {
if (doc.data().timestamp < Date.now()) {
firestore.collection('users').doc(doc.id).delete();
}
console.log(doc.id, '=>', doc.data());
let ans = {
date : doc.ref.id
};
res.status(200).send(ans);
});
})
.catch((err) => {
console.log('Error getting documents', err);
let error = {
message: 'error!'
};
res.status(400).send(error)
});
};
//package.json
//___________________________________________
{
"name": "sample-http",
"version": "0.0.1",
"dependencies": {
"@google-cloud/firestore": "^2.2.4"
}
}