我不确定我是否在这里缺少脚本,我确保我指向的是firestore()数据库,而不是实时数据库,但是我遇到了错误,我可以添加到firestore()数据库已经在另一条路径中,所以我不确定为什么我也无法获取文档?
TypeError: db.collection(...).document is not a function
这是我从中访问数据库的路由器
var express = require('express');
var router = express.Router();
const path = require('path');
const firebaseConfig = {
apiKey: '********',
authDomain: '****',
databaseURL: '******',
projectId: "**********",
storageBucket: '********',
messagingSenderId: '********',
appId: "*******************",
measurementId: "***********"
};
const firebase = require('firebase')
require('firebase/auth')
require('firebase/database')
firebase.initializeApp(firebaseConfig)
const db = firebase.firestore()
db.settings({timestampsInSnapshots:true})
/* GET whichever article is selected */
router.get('/articles/:title', function(req, res, next) {
const title = req.params.title
console.log(title)
db.collection('articles').document(title.toString()).get().then((string) => {
console.log(string)
res.sendFile(path.join(__dirname + "/../public/articletemplate.html"));
res.json({data: string})
});
});
module.exports = router;
答案 0 :(得分:1)
在JavaScript中,从CollectionReference创建DocumentReference的方法是doc()
,而不是document()
。您可能将其与Java API混淆了。
db.collection('articles').doc(title.toString())