程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用 javascript 更新 Cloud Firestore 中地图数据类型中的值?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何使用 javascript 更新 Cloud Firestore 中地图数据类型中的值??

开发过程中遇到如何使用 javascript 更新 Cloud Firestore 中地图数据类型中的值?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何使用 javascript 更新 Cloud Firestore 中地图数据类型中的值?的解决方法建议,希望对你解决如何使用 javascript 更新 Cloud Firestore 中地图数据类型中的值?有所启发或帮助;

如何使用 javascript 更新 Cloud Firestore 中地图数据类型中的值?

如何使用 javascript 更新 Cloud Firestore 中地图数据类型中的值?

我正在使用 jquery 获取表单中的值,并且所有值都被正确获取,现在我正在尝试更新字段中的值,但我无法这样做,我正在附上表单的屏幕截图以及的消防站。当我更新表单映射字段中的例如 sstemElement 字段的值时,它会更新但更新后的值不在表单(映射)字段中

Js:

 function updateForm(form,typE){
       var name = $('#name_'+typE).val();
      var type = $('#type_'+typE).val();
      var sstemElement = $('#sstemElement').prop('checked');
       console.log(name,type,sstemElement);

const taskForm = document.getElementByID("taskform");
    let editStatus = false;
    let ID = '';


window.addEventListener("DOMContentLoaded",async (E) => {

    db.collection('Buildings').doc(buildingID).collection('rooms').doc(roomID).collection('objects').doc(objectID).get().then(doc=>{
        const task = doc.data();
       
       ID = doc.ID;
       editStatus = true;
       document.getElementByID('type_Shutter').value = task.type_Shutter;
       document.getElementByID('name_Shutter').value = task.name_Shutter;
       document.getElementByID('sstemElement').value = task.sstemElement;
     
    })

    btnsEdit.forEach((btn) => {
      btn.addEventListener("click",async (E) => {
        try {
          const doc = await getTask(e.target.dataset.ID);
          const task = doc.data();
          taskForm["type_Shutter"].value = task.type_Shutter;
          taskForm["name_Shutter"].value = task.name_Shutter;
          taskForm["sstemElement"].value = task.sstemElement;  
          
            
          editStatus = true;
          ID = doc.ID;
          taskForm["btn-update-data"].innerText = "update";

        } catch (error) {
          console.log(error);
        }
      });
    });

});


      taskForm.addEventListener("click",async (E) => {
      e.preventDefault();

       var type_Shutter = document.getElementByID('type_Shutter').value;
      var name_Shutter = document.getElementByID('name_Shutter').value;  
       var sstemElement = document.getElementByID('sstemElement').value;
    
    

  try {
    if (!editStatus) {
     
  

        var update_data = db.collection('Buildings').doc(buildingID).collection('rooms').doc(roomID).collection('objects').doc(objectID);
          update_data.update({
              type_Shutter:type_Shutter,name_Shutter:name_Shutter,sstemElement:sstemElement,},{merge: truE});
        } else {
          await updateTask(ID,{
              type_Shutter:type_Shutter,})
    
          editStatus = false;
          ID = '';
          taskForm['btn-update-data'].innerText = 'updated';
          
            swal("","DATA updatED!","success");
        }
    
        taskForm.reset();
        title.focus();
      } catch (error) {
        console.log(error);
      }
    });

 }

解决方法

有很多难以理解的字段,但如果您尝试更新该字段,我看不到任何对表单字段的引用。

var update_data = db.collection('Buildings').doc(buildingID).collection('rooms').doc(roomID).collection('objects').doc(objectID);
update_data.update({
  type_Shutter:type_Shutter,name_Shutter:name_Shutter,sStemElement:sStemElement,},{merge: truE});

我在此看不到任何名为 Form 的字段,但它在您的屏幕截图中。所以更新函数中的所有字段都会被添加到表单字段之外。

要更新表单字段中的任何内容,您可以尝试以下操作:

// const docRef = //Reference to that document
docRef.update({ "Form.sAluminum": true })

这将仅更新表单字段中的该字段。

大佬总结

以上是大佬教程为你收集整理的如何使用 javascript 更新 Cloud Firestore 中地图数据类型中的值?全部内容,希望文章能够帮你解决如何使用 javascript 更新 Cloud Firestore 中地图数据类型中的值?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。