【发布时间】:2019-11-06 00:43:19
【问题描述】:
我正在制作一个 url 更短的项目(firebase 的新手),使用带有集合 ref url/{newDocs} 的 firestore
对于每个新的文档架构如下:
let schema = {
code: codeGeneratedbyShortidPackage,
url: req.body.URL,
expiredAt: Date.now()+60000 // in milisceonds i.e 10 mins for 600000
}
我的问题是,如何在 Firestore 中的上述参考中添加新文档时,为每个文档中超过其时间限制的每个文档设置批量删除。
我尝试了以下代码,但没有成功。
exports.deleteFunc = functions.firestore.document('url/{docId}').onCreate( ( change, context) => {
let newbatch = db.batch() ;
db.collection('nonauth_url').where( 'expiredAt' , '<=', Date.now()).get().then( (snapshot) => {
snapshot.forEach( (doc) => {
newbatch.delete(doc.ref) ;
}) ;
}).then( () => {
console.log('Delete done') ;
}) ;
return newbatch.commit().then( () => {
console.log('Batch Committed');
}).catch( (err) => {
console.error('error occurred', err) ;
}) ;
}) ;
【问题讨论】:
标签: javascript firebase google-cloud-firestore google-cloud-functions