【发布时间】:2020-05-07 12:18:09
【问题描述】:
如何使用node js导出cloud firestore中的动态嵌套集合?
var express = require("express");
var router = express.Router();
var admin = require("firebase-admin");
var databaseURL = "databaseURL"; // Initiate databaseURL
var serviceAccount = require("../serviceaccount.json"); // Initiate serviceAccount
if (admin.apps.length) {
admin.app();
} else {
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: databaseURL
})
}
var firestoredb = admin.firestore();
var CollectionName = request.body.CollectionName;
var SubCollectionName = request.body.SubCollectionName;
router.get("/", async (req, res, next) => {
await firestoredb.collection(CollectionName).doc().collection(SubCollectionName).doc().get()
.then(async snapshot => {
var snap_size = snapshot.size;
console.log("snap_size", snap_size)
var arr_Collection_Details = [];
snapshot.forEach(async doc => {
var CollectionData = doc.data();
arr_Collection_Details.push(CollectionData)
fs.writeFile("filename.json", JSON.stringify(arr_Collection_Details), function (err) {
if (err) {
console.log("error:", err.message);
res.json({
returncode: 201,
message: err.message
})
} else {
console.log("Data Exported Sucessfully");
res.json({
returncode: 200,
message: "Data Exported Sucessfully"
})
}
});
});
})
.catch((err) => {
res.json({
returncode: 201,
message: err.message
})
})
});
module.exports = router;
我采用子集合数据,但我需要嵌套集合名称是动态的嵌套集合数据。
如何编写嵌套集合的查询
【问题讨论】:
-
您好,您需要详细说明动态方面是如何实现的。
-
我按降序添加 db 结构图像 – Renaud Tarnec
-
谢谢。我还不清楚你想要实现什么。你能根据截图解释一下吗?什么是动态?
-
示例有 5 个嵌套集合,其中 5 个嵌套集合名称不同,然后只有我提到动态,我也添加了我的代码
-
要查询集合中的文档,您需要知道它的完整路径。您对不起作用的代码有什么期望?
标签: javascript node.js firebase google-cloud-firestore