Javascript Can';t编辑Firestore(Vue.js/Firestore)中其他用户创建的文档
谢谢你的帮助,这让我发疯了 我遵循firestore数据模型,在该模型中,用户可以创建自己的文档,这些文档附加到他们的用户ID,以确保用户只能创建和查看他们创建的请求。但是,我有一个管理员,需要访问和编辑这些用户提交的请求 到目前为止,我已经能够通过collectionGroup(“subcollection”)访问subcollection。虽然它确实返回了文档,但如果我尝试更新或删除其中任何一个文档(除了我自己作为管理员创建的文档),它会返回一个未捕获的(承诺中的)FirebaseError:No document to update错误 HTML:Javascript Can';t编辑Firestore(Vue.js/Firestore)中其他用户创建的文档,javascript,firebase,vue.js,google-cloud-firestore,Javascript,Firebase,Vue.js,Google Cloud Firestore,谢谢你的帮助,这让我发疯了 我遵循firestore数据模型,在该模型中,用户可以创建自己的文档,这些文档附加到他们的用户ID,以确保用户只能创建和查看他们创建的请求。但是,我有一个管理员,需要访问和编辑这些用户提交的请求 到目前为止,我已经能够通过collectionGroup(“subcollection”)访问subcollection。虽然它确实返回了文档,但如果我尝试更新或删除其中任何一个文档(除了我自己作为管理员创建的文档),它会返回一个未捕获的(承诺中的)FirebaseError
<!-- Add New Request -->
<input
type="submit"
@click="addRequest"
value="Save and Add"
/>
<!-- Update Past Request -->
<button
@click="updateRequest()"
type="button"
v-if="modal == 'edit'"
>Update
</button>
<!-- Delete Past Request -->
<button
@click="deleteRequest(request)"
type="button"
v-if="modal == 'edit'"
>Delete
</button>
<!-- Set return objects -->
data() {
return {
requests: [],
request: {
//Standard
req_assigned: null,
req_contact: null,
req_status: null,
timestamp: null
},
}
}
<!-- Firestore Assign -->
firestore() {
const user = fb.auth().currentUser;
return {
requests: db.collection("uzers").doc(user.uid).collection("requestz"),
uzers: db.collection("uzers").doc(user.uid),
bulksettings: db.collection("bulksettingz")
};
},
错误:
index.cjs.js?e89a:350 Uncaught (in promise) FirebaseError: No document to update: projects/vue-shop-276c4/databases/(default)/documents/uzers/k0yZFhDbldVpf6FhhPMcykK5GJD3/requestz/9ET8nk53MxBx3JlhZqKx
at new FirestoreError (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:350:28)
所以,再次重申一下,我正在尝试编辑和删除其他用户添加的请求。这件事困扰了我很长一段时间了。非常感谢所有能为我指明正确方向的人。您需要创建一组firebase规则来控制对文档的访问,文档中有一个示例
你好,谢谢你的帮助。这就是问题所在,我的安全规则目前完全开放(测试)。我开始怀疑我是否需要docRef之类的流程。不确定,还在想办法。再次感谢你。
index.cjs.js?e89a:350 Uncaught (in promise) FirebaseError: No document to update: projects/vue-shop-276c4/databases/(default)/documents/uzers/k0yZFhDbldVpf6FhhPMcykK5GJD3/requestz/9ET8nk53MxBx3JlhZqKx
at new FirestoreError (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:350:28)