# #node.js #google-cloud-firestore #google-cloud-functions
Вопрос:
Я попытался распечатать все данные в своей users
коллекции firestore. Но всегда он возвращает {}
это.
exports.trial = functions.https.onRequest( (request, response) => {
// var db = admin.firestore();
admin.firestore().collection("/users").get().then( snapshot => {
response.send(snapshot);
}).catch(error => {
response.send(error);
});
} );
Я пытался сделать чтение и запись общедоступными, но ничего не работает. Может быть, я что-то упускаю. Я запускаю функции локально.
Комментарии:
1. Какую ошибку/неожиданное поведение вы видите?
2.
admin.firestore().collection("users")
…3. @MartinZeitler эта печать
{"_query":{"_firestore":{"projectId":"project-trial"},"_queryOptions":{"parentPath":{"segments":[]},"collectionId":"users","converter":{},"allDescendants":false,"fieldFilters":[],"fieldOrders":[],"kindless":false,"requireConsistency":true},"_serializer":{"allowUndefined":false},"_allowUndefined":false},"_readTime":{"_seconds":1628512388,"_nanoseconds":351959000},"_size":1,"_materializedDocs":null,"_materializedChanges":null}
4. @LuizFerraz Я не получил никакой ошибки. Но всегда это дает пустой json.
{}
.
Ответ №1:
Ваша snapshot
переменная-это QuerySnapshot
объект, который не является допустимым объектом JSON. Вероятно, вы хотите отправить документы, содержащиеся в снимке, обратно, что вы можете сделать с помощью:
response.send(snapshot.docs.map((doc) => doc.data()))
Комментарии:
1. Спасибо @theTerribleSWE за предложение использовать
map
для возврата только данные из каждого документа.