Cloud Firestore函数Javascript:触发EqualTo查询的函数



在Android中,我们可以通过设置这样的查询来监听简单查询/复合查询的集合内部。

mQuery = mDatabase.collection("Users")
.document(FirebaseAuth.getInstance().getCurrentUser().getUid())
.collection("Request").whereEqualTo("status","received")
.whereEqualTo("type","friend_request")
.orderBy("time", Query.Direction.DESCENDING)
.limit(5);

然后根据查询设置一个监听器,如下所示。

mQuery.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@javax.annotation.Nullable QuerySnapshot queryDocumentSnapshots, @javax.annotation.Nullable FirebaseFirestoreException e) {
//If something went wrong
if (e != null)
Log.w(TAG, "ERROR : ", e);...//foreach loop

我可以用Cloud Function做类似的事情吗?我目前正在使用这行代码,它正在工作。

functions.firestore.document("Users/{user_id}/Notifications/{notification_id}").onCreate((added, context) => {

但对于一些更改,现在我只想在文档字段等于某个值的情况下触发一个函数,然后我想是foreach循环吗?

另一件事是,如果可以查询,我现在如何获得"通知"集合的文档Id,现在我使用通配符,然后像这样检索它。

const notification_id = context.params.notification_id;

使用Firestore的Cloud Functions触发器,您只能通过使用通配符指定哪些集合和文档会触发函数。没有可用的查询筛选器。如果要进一步限制哪些更改后的文档需要执行某些操作,则必须在代码中检查文档的内容。

相关内容

  • 没有找到相关文章