firebase FireStore我如何在订单中获得集合(Dess / Accen)

xvw2m8pv  于 2023-01-27  发布在  其他
关注(0)|答案(1)|浏览(93)

我有一个包含多个文档的集合,我想从中获取最高索引文档

我想获取Customer_Info的Lat文档,但我不知道它的值
我不知道如何在集合=〉文档=〉document_Data中实现orderBy

zdwk9cvp

zdwk9cvp1#

如果Bill_ID与文档ID相同,则可以使用orderBy()limit(1)获取该集合中的最后一个文档,如下所示:

db.collection("(?)/Business/Customer_Info")
        .orderBy("Bill_ID", Direction.DESCENDING)
        .limit(1)
        .get()
        .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                if (task.isSuccessful()) {
                    for (QueryDocumentSnapshot document : task.getResult()) {
                        Log.d(TAG, document.getId() + " => " + document.getData());
                    }
                } else {
                    Log.d(TAG, "Error getting documents: ", task.getException());
                }
            }
        });

但是,您必须确保字段必须是number,否则顺序将不正确,因为Firestore是按字典顺序排列的。
您应该避免使用连续的文档ID,使用时间戳对文档进行排序可能是一个更好的主意。
同时结帐:

相关问题