首页 > 解决方案 > 如何按文档 ID 删除行

问题描述

我可以添加数据没问题,但我似乎无法弄清楚如何正确使用删除......

我希望能够通过自动生成的每个文档的唯一 ID 删除数据库中的记录。例如:/lab-results/292AU3VhfMXOzieHtmiD

我在这里做错了什么?当我尝试发出删除时,我不断收到“db.ref 不是函数”。

请参阅我尝试使其工作的代码。

HTML CODE

<script src="https://www.gstatic.com/firebasejs/6.1.1/firebase-app.js"></script> 
<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/6.1.1/firebase-firestore.js"></script>
<script src="https://www.gstatic.com/firebasejs/6.1.1/firebase-auth.js"></script>
<!-- TODO: Add SDKs for Firebase products that you want to use
     https://firebase.google.com/docs/web/setup#config-web-app -->


<script>
        // Your web app's Firebase configuration
        var firebaseConfig = {
            apiKey: "",
            authDomain: ".firebaseapp.com",
            databaseURL: "https://.firebaseio.com",
            projectId: "",
            storageBucket: ".appspot.com",
            messagingSenderId: "",
            appId: ""
        };
        // Initialize Firebase
        firebase.initializeApp(firebaseConfig);
        const db = firebase.firestore();
        const auth = firebase.auth();

</script>
JS FILE CODE


//Add to firebase db THIS WORKS FINE

var el = document.getElementById('test');
if(el){
labTestForm.addEventListener('submit', (e) =>{
    e.preventDefault();
    db.collection('tests').add({
        labTestID: labTestForm.labTestID.value,
        labTestCode: labTestForm.labTestCode.value,
        labTestName: labTestForm.labTestName.value,

    })
    //Reset for fields after submit
    labTestForm.reset();


})

}

///////////////////
//TEST JS - THROWS ERROR IN CONSOLE "db.ref is not a function"


var labResultsFB = db.ref("lab-results/0nH95TRY5xwnPJovwEFd")
labResultsFB.remove();

console.log('remove fired for:' + key)


/////////

标签: javascriptfirebasegoogle-cloud-firestore

解决方案


var labResultsFB = db.doc("lab-results/0nH95TRY5xwnPJovwEFd")
labResultsFB.delete();


推荐阅读