TypeError:db.collection(...)。document不是Firestore中的函数

时间:2020-05-27 21:25:06

标签: node.js express google-cloud-firestore

我不确定我是否在这里缺少脚本,我确保我指向的是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;


1 个答案:

答案 0 :(得分:1)

在JavaScript中,从CollectionReference创建DocumentReference的方法是doc(),而不是document()。您可能将其与Java API混淆了。

db.collection('articles').doc(title.toString())