📅  最后修改于: 2023-12-03 15:30:46.657000             🧑  作者: Mango
Firebase Firestore 是 Google 推出的一款云端 NoSQL 数据库服务,它的数据类型包括数字、字符串、布尔值、日期、地理位置等等。在使用 Firestore 存储分数等数字数据的时候,需要注意数字类型和字符串类型的区别。
Firestore 中的数字类型有很多优点,例如:
在 JavaScript 中,如果将分数存储为字符串类型,例如 "90",它在 Firestore 中会被认为是一个字符串类型,而不是一个数字类型。这样就会导致查询和比较分数数据时效率低下。
因此,在将分数保存到 Firestore 时,应该将其转换为数字类型,例如:
const score = 90;
const scoreRef = db.collection('scores').doc();
scoreRef.set({
score: score,
});
在 Firestore 中,上述代码会将分数保存为数字类型,而不是字符串类型。
从 Firestore 中读取数字数据和字符串数据的方法基本相同,只需要注意进行类型转换:
const scoreSnap = await scoreRef.get();
const scoreData = scoreSnap.data();
const score = scoreData.score;
console.log(typeof score); // "number"
上述代码从 Firestore 中读取保存的分数,并将其转换为数字类型。
在 Firestore 中,存储数字类型的数据有很多优势。因此,在存储分数等数字数据时,应该将其保存为数字类型,而不是字符串类型。从 Firestore 中读取数字数据也需要注意进行类型转换。