为什么Firebase-admin不返回文档,而是返回express中的不同对象

vsmadaxz  于 2023-02-19  发布在  其他
关注(0)|答案(2)|浏览(117)

我正尝试在不同的服务器上创建一个节点 Package 器来 Package 我的firebase函数,技术上使用firebase作为主数据库
每当我尝试使用文档中的默认查询功能进行阅读时

const db = firebase-admin.firestore()
const data = await db.collection("cities").get()

现在不是像这样得到一个对象数组

"_query": {
            "_firestore": {
                "projectId": "fir-demo-jd1"
            },
            "_queryOptions": {
                "parentPath": {
                    "segments": []
                },
                "collectionId": "bets",
                "converter": {},
                "allDescendants": false,
                "fieldFilters": [
                ],
                "fieldOrders": [
                ],
                "limit": null,
                "limitType": 0,
                "kindless": false,
                "requireConsistency": true
            },
            "_serializer": {
                "allowUndefined": false
            },
            "_allowUndefined": false
        },
        "_readTime": {
            "_seconds": 1676797103,
            "_nanoseconds": 433061000
        },
        "_size": 2,
        "_materializedDocs": null,
        "_materializedChanges": null
    },

我想要的是能够单独查看国家/地区列表
因为我以后也会在data上使用paganation,就像这样
.limit()轻松实现

e5nqia27

e5nqia271#

因此,我必须使用此函数将其Map并转换为JSON

const db = firebase-admin.firestore()
const data = await db.collection("cities").get()
console.log(docs.map((doc)=>doc.data()))

我以为Firebase会在引擎盖下处理这些

cbwuti44

cbwuti442#

db.collection("cities").get()返回一个QuerySnapshot,从那里你可以循环DocumentSnapshot,如文档所述:

const querySnapshot = await db.collection("cities").get();
querySnapshot.forEach((doc) => {
    // doc.data() is never undefined for query doc snapshots
    console.log(doc.id, " => ", doc.data());
});

相关问题