要按数字字段排序的Firestore不返回任何文档,可能是由于以下几个原因:
数据字段类型不匹配:确保Firestore文档中的字段类型为数字类型(例如,整数或浮点数),而不是字符串。如果字段类型为字符串,则排序可能会出现问题。
字段值为空或缺失:确保Firestore文档中的数字字段具有有效的非空值。如果字段值为空或缺失,它们可能会在排序过程中被忽略。
使用正确的排序方法:在Firestore查询中,确保使用正确的排序方法。对于数字字段,使用orderBy方法,并指定要排序的数字字段。
以下是一个示例解决方案,以按数字字段排序的方式从Firestore检索文档:
const db = firebase.firestore();
// 获取按数字字段排序的文档
db.collection("your_collection")
.orderBy("your_numeric_field")
.get()
.then((querySnapshot) => {
querySnapshot.forEach((doc) => {
console.log(doc.id, " => ", doc.data());
});
})
.catch((error) => {
console.log("Error getting documents: ", error);
});
在上述示例中,将"your_collection"替换为Firestore中的集合名称,将"your_numeric_field"替换为要按其排序的数字字段名称。然后,使用orderBy方法指定要排序的字段,然后使用get方法检索匹配的文档。
请注意,如果Firestore中不存在匹配的文档或文档中的数字字段为空或缺失,上述代码可能不会返回任何文档。确保您的数据满足这些条件后,再进行排序操作。
下一篇:按数字字段排序多维数组