【发布时间】:2017-09-23 13:40:07
【问题描述】:
我目前被困在如何查询深层嵌套子级然后删除这些子级。一点背景:
在我的应用中,用户发布工作。新创建的职位发布到职位创建者的下方:jobs/serviceUsers/activeJobs/usersUID
以及以下的工作人员:jobs/workerUsers/workersUID
现在发布职位没问题,但现在我被困在如果用户想删除它怎么办?我必须在 serviceUsers 下删除它(这没问题),但还要删除 workerUsers 中的作业(请记住,会有许多 workerUsers 具有相同的 jobID)。所以我需要查询、查找和删除那些作业。
我目前有这段代码可以找到工人并希望它可以工作,但什么也没发生:
// jobID is the job to be deleted
let queryRef = firebase.database().ref(`/jobs/workerUsers`);
queryRef.orderByChild(jobID).equalTo(true).once('value', snap => {
console.log('successful Query: ', snap.val);
});
感谢任何帮助!
(注意:这是我第一次使用 firebase)
【问题讨论】:
-
从
serviceUsers删除作业时,我假设您拥有usersUID。那么,在从workerUsers删除作业时,为什么不能将它与jobID一起使用? -
@VivekAthalye 我有。有一个问题,那就是 JobID 嵌套在许多我不知道的 workerUsers ID 下。在屏幕截图中,您应该显示许多其他 workerUsers UID,这些 UID 可能嵌套了也可能没有嵌套的 jobID。
-
如果你有
usersUID,为什么不使用firebase.database().ref("/jobs/workerUsers/"+usersUID+"/"+jobID).remove();?它不会删除其他用户的作业。执行此操作时是否遇到任何错误? -
@VivekAthalye 对不起,我很困惑。我没有嵌套作业的 workerUsers 的用户 ID。
标签: javascript firebase firebase-realtime-database