Node.js 使用nodejs从CloudFireStore获取数据花费的时间太长

Node.js 使用nodejs从CloudFireStore获取数据花费的时间太长,node.js,firebase,google-cloud-firestore,firebase-admin,Node.js,Firebase,Google Cloud Firestore,Firebase Admin,我正在用NodeJs应用程序测试firebase,当我试图从我用一个集合创建的数据库中读取数据时,它会获取数据,但在我的终端上记录数据需要花费太多时间 const express = require('express'); const bodyParser = require('body-parser'); const admin = require('firebase-admin'); let serviceAccount = require('./ServiceAccountKey.jso

我正在用NodeJs应用程序测试firebase,当我试图从我用一个集合创建的数据库中读取数据时,它会获取数据,但在我的终端上记录数据需要花费太多时间

const express = require('express');
const bodyParser = require('body-parser');
const admin = require('firebase-admin');

let serviceAccount = require('./ServiceAccountKey.json');

const app = express();
const port = 3000;

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://database url"
});

let db = admin.firestore();

db.collection('messages').get()
  .then((snapshot) => {
    snapshot.forEach((doc) => {
      console.log(doc.id, '=>', doc.data());
    });
  })
  .catch((err) => {
    console.log('Error getting documents', err);
  });

我也尝试在数据库中写入数据,但当我尝试使用以下代码写入数据时,总是出现以下错误:

let docRef = db.collection('test').doc('alovelace');

let setAda = docRef.set({
  first: 'Ada',
  last: 'Lovelace',
  born: 1815
}).then(function() {
  console.log('Data saved!');
}).catch(function(error) {
  console.log("Gor an error: ", error);
});


我想了解我做错了什么,因为我只阅读了一个项目,并且试图插入一个项目。非常感谢您的支持。

可能存在一些过时的依赖项。试用

npm update

可能存在一些回溯的依赖项。试用

npm update

使用
snapshot.forEach
处理该集合中没有文档的情况是一种很好的做法。这就像在上面的一行使用
if(snapshot.empty){throw'expected documents}
一样简单。我花了一些时间试图重现这个问题,但没有效果。您提供的代码工作正常(在启动节点进程的1-2秒内响应),因此您的网络可能存在一些问题。很抱歉,我不能再帮你了。@samthecodingman谢谢你的演示和测试我的代码的努力。我真的很困惑,因为阅读法有效,而写作法无效。我认为我使用firestore的方式有问题。我将尝试其他连接,看看它是否按预期工作。使用
snapshot.forEach
处理该集合中没有文档的情况是一种很好的做法。这就像在上面的一行使用
if(snapshot.empty){throw'expected documents}
一样简单。我花了一些时间试图重现这个问题,但没有效果。您提供的代码工作正常(在启动节点进程的1-2秒内响应),因此您的网络可能存在一些问题。很抱歉,我不能再帮你了。@samthecodingman谢谢你的演示和测试我的代码的努力。我真的很困惑,因为阅读法有效,而写作法无效。我认为我使用firestore的方式有问题。我将尝试其他连接,看看它是否按预期工作。