首页 > 解决方案 > 如何从firebase函数中删除最后一个文档

问题描述

如何通过firebase函数触发删除集合中的最后一个文档?

我正在尝试删除我没有参考的文档。我只想使用降序并限制为 1 的顺序删除最后一个文档。

admin.firestore().collection('notifications').orderBy("date",'desc').limit(1).delete();

这是我在函数日志中得到的错误。

“TypeError:admin.firestore(...).collection(...).orderBy(...).limit(...).delete 不是exports.updateUser.functions.firestore.document.onUpdate 的函数(/srv/index.js:219:97) 在 cloudFunction (/srv/node_modules/firebase-functions/lib/cloud-functions.js:119:23) 在 /worker/worker.js:825:24 在进程._tickDomainCallback (internal/process/next_tick.js:229:7)"

标签: javascriptfirebasegoogle-cloud-firestoregoogle-cloud-functions

解决方案


admin.firestore().collection('notifications').orderBy("date",'desc').limit(1)返回一个查询对象。从链接的 API 文档中可以看到,Query 没有一个名为 delete 的方法。

您必须get()查询结果,查看生成的QuerySnapshot以查看它是否与文档匹配,然后使用其引用删除文档。

您应该阅读Cloud Firestore 查询的文档以熟悉 API。


推荐阅读