Swift / Firestore / Cloud功能-向随机用户发送消息

时间:2019-03-07 07:28:21

标签: swift typescript google-cloud-firestore google-cloud-functions

我能够在Firestore中发送创建文档,但是我想知道是否有一种方法可以快速或在Typescript中的Cloud Functions中向该文档添加数组中的n个用户ID /用户文档ID 。

我知道我可以查询并从数组中的用户集合中获取所有用户,然后将n个随机用户添加并添加到Firestore中要创建的文档中,但是如果我有一百万个用户,那将是一个万次读取,而我正努力避免这种情况。

代码

    if let data = self.imageView.image?.pngData() {
        let postID = APIs.posts.collection.document()
        Services.storage.upload(path: "posts/\(postID).png", data: data, onSuccess: { (url) in
            Services.crud.create(
                ref: APIs.posts.collection.document(),
                dict: [
                    "createdAt": Date(),
                    "fromUser": APIs.users.currentUserRef,
                    "post": url,
                    "timer": 5,
                    //"toUsers": [userID1, userID2, userID3, etc...] <- How I want to end up in Firestore
                    "type": "Image"
                    ] as [String: Any],
                onSuccess: {
                    self.openCamera()
            }) { (error) in
                print(error)
            }
        }) { (error) in
            print(error)
        }
    }

1 个答案:

答案 0 :(得分:0)

如果您想知道集合中所有文档的ID,则仍然必须查询整个集合以获取所有ID。 Firestore中没有免费的“获取所有ID”操作。无法找到随机选择的文档的操作。