Node.js 使用nodejs从CloudFireStore获取数据花费的时间太长
我正在用NodeJs应用程序测试firebase,当我试图从我用一个集合创建的数据库中读取数据时,它会获取数据,但在我的终端上记录数据需要花费太多时间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
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的方式有问题。我将尝试其他连接,看看它是否按预期工作。