Пожарная служба: получить документ обратно после его добавления / обновления без дополнительных сетевых вызовов - PullRequest
0 голосов
/ 06 октября 2018

Можно ли вернуть документ после его добавления / обновления без дополнительных сетевых вызовов с помощью Firestore, аналогично MongoDB?

Я считаю глупым сначала позвонить, чтобы добавить / обновить документ, а затемсделать дополнительный звонок, чтобы получить его.

Ответы [ 3 ]

0 голосов
/ 06 октября 2018

Когда вы добавляете документ в Cloud Firestore, сервер может влиять на сохраняемые данные.Это может произойти несколькими способами:

  • Если ваши данные содержат маркер для отметки времени на стороне сервера, сервер расширит этот маркер до фактической отметки времени.
  • Данные ваших данныхне разрешено в соответствии с вашими правилами безопасности на стороне сервера, сервер отклонит операцию записи.

Поскольку сервер влияет на содержимое Document, клиент не может просто вернуть данные, которыеэто уже есть как новый документ.Если вы просто хотите показать данные, которые вы отправили на сервер в вашем клиенте, вы, конечно, можете сделать это, просто повторно использовав объект, который вы передали в setData(...) / addDocument(data: ...).

0 голосов
/ 10 июня 2019

Похоже, что это произвольное ограничение API Firestore Javascript.API REST Firestore возвращает обновленный документ по тому же вызову.

https://firebase.google.com/docs/firestore/reference/rest/v1beta1/projects.databases.documents/patch

0 голосов
/ 06 октября 2018

Как вы, вероятно, видели в документации SDK Node.js (и Javascript), это невозможно, ни для методов DocumentReference , ни для методов CollectionReference.

Точнее, set() и update() методов DocumentReference оба возвращают Promise, содержащий void, в то время как метод CollectionReference add() возвращает Promise, содержащий DocumentReference .

...