如何使用firestore were field方法并将文档添加到另一个集合中

发布于 2025-01-24 01:26:49 字数 648 浏览 0 评论 0原文

我正在进行一个使用商店的项目。我的结构数据:

“在此处输入图像描述”

我的代码段

//current user sign in here and uid "VjZfKF1zmrV00C9VeTZxRmogybA2"
let currentUser = Auth.auth().currentUser
let db = Firestore.firestore()
db.collection("Blah").whereField("users", isEqualTo: currentUser?.uid).collection("otherPath").document().addDocument

我想添加数据以使用CurrentUser UID,如果它匹配“ Blah”内部文档,则添加该目标文档其他集合。

.adddocumets.setData它不允许firestore,那么我该如何弄清楚呢?

I am working a project to use shops. My structure data:

enter image description here

My code snippet

//current user sign in here and uid "VjZfKF1zmrV00C9VeTZxRmogybA2"
let currentUser = Auth.auth().currentUser
let db = Firestore.firestore()
db.collection("Blah").whereField("users", isEqualTo: currentUser?.uid).collection("otherPath").document().addDocument

I want to add data to use currentuser uid and if it is matching "Blah" inside documents then add that targeting document other collection.

.adddocumets or .setData it isn't allowed to firestore, so how can i figure it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱*していゐ 2025-01-31 01:26:49

一口气无法向Firestore发送查询和更新语句。取而代之的是:

  1. 执行查询以确定所有需要更新的文档。
  2. Loop over the results of that query in your application code.
  3. Update each document in turn inside that loop.

此外,由于用户是一个数组字段,因此您需要使用array-contains操作员匹配正确的文档。

There is no way to send a query and an update statement to Firestore in one go. You will instead have to:

  1. Execute a query to determine all documents that need to be updated.
  2. Loop over the results of that query in your application code.
  3. Update each document in turn inside that loop.

In addition, since users is an array field, you'll want to use the array-contains operator to match the correct documents.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文