Vue.js和Firestore只更新不等于空字符串的变量



只更新不等于空字符串的变量

const state = reactive({
birthNumber: '',
phoneNumber: '',
DoctorName: '',
DoctorPhone: '',
})
db.collection(state.user.uid).doc("Personal_Records").update({
birthNumber: state.birthNumber,
phoneNumber: state.phoneNumber,
DoctorName: state.DoctorName,
DoctorPhone: state.DoctorPhone
})

我只需要更新将要更改的变量。Firestore仍然用一个空字符串更改它们。谢谢你的帮助。

使用Firestoreupdate()方法时,不需要传递文档的所有值。只传递新更改的值就足够了,因为update()方法只会更改Firestore文档中的此字段。因此,您需要检查您的字段是否具有应用程序中的值,并相应地将它们传递给update()方法。在这里阅读更多关于

您可以构建一个只包含要更新的字段的对象,并将其传递给update()。您可以确定要在该对象上设置的属性。

const update = {}
if (shouldUpdateBirthNumber} {
update.birthNumber = state.birthNumber
}
// repeat for each optional field to update
db.collection(state.user.uid).doc("Personal_Records").update(update);

最新更新