如何在 Cloud Firestore 中编辑文档中的密钥对?

How do I edit a key pair in a document in Cloud Firestore?

我想在 Cloud Firestore 中编辑以下密钥对:

为此,我创建了一个调用以下函数的按钮:

void select(key) {
    if (key == 'Stufe 1') {
      stufenService.editStufe('Stufe', 1);
    }
    if (key == 'Stufe 2') {
      stufenService.editStufe('Stufe', 2);
    }
    if (key == 'Stufe 3') {
      stufenService.editStufe('Stufe', 3);
    }
    if (key == 'Stufe 4') {
      stufenService.editStufe('Stufe', 4);
    }
    if (key == 'Stufe 5') {
      stufenService.editStufe('Stufe', 5);
    }
    if (key == 'Stufe 6') {
      stufenService.editStufe('Stufe', 6);
    } print(key);
  }

这是 stufenService.editStufe(String, int) 的确切代码:

final CollectionReference userTodos =

FirebaseFirestore.instance.collection('userTodos');
  
  Future editStufe(String Stufe, int i) async{
    return await userTodos.doc(userID).update({Stufe: i});
  }
}

当我按下调用“select”的按钮时,控制台中只打印出密钥。 Cloud Firestore 中没有任何变化。 我认为错误就在这里:

final CollectionReference userTodos =

FirebaseFirestore.instance.collection('userTodos');

  Future editStufe(String Stufe, int i) async{
    return await userTodos.doc(userID).update({Stufe: i});
  }
}

希望我提供了所有必要的数据,以便问题得到解决。如果没有,请写信给我,我会尽力将您需要的 material 发送给您。

在查看 google 和外部文档时,您可以使用以下代码示例更新 Cloud Firestore 上的密钥对:

这是一个示例代码,说明如何使用“update”更新您的密钥对:

const usuariosRef = db.collection(‘userTodos’);

//userTodosRef.doc(‘ID’)

userTodosRef
    .doc(‘81Acc0wgLegYMSTTrCWLRQhzjA2’)
    .update({
          stufe = 1
    });


This is an example code of how to update your key pair using ‘`set`’:

const usuariosRef = db.collection(‘userTodos’);

//userTodosRef.doc(‘ID’)

userTodosRef
    .doc(‘81Acc0wgLegYMSTTrCWLRQhzjA2’)
    .set({
          stufe = 1
    });

两者的区别是‘update’只改变你想更新的值,‘set’删除所有数据并用添加的值更新它。

这里有一份文档可以帮助您参考您的数据:https://googleapis.dev/nodejs/firestore/latest/DocumentReference.html#update