我想更新这样的文档:

db.collection('users').doc(user_id).update({foo:'bar'})

但是,如果doc user_id不存在,上述代码将抛出一个错误.

db.collection('users').doc(user_id).set({foo:'bar'})

推荐答案

我想你应该使用以下代码:

db.collection('users').doc(user_id).set({foo:'bar'}, {merge: true})

这将使用提供的数据设置文档,并保留其他文档字段不变.最好是when you're not sure whether the document exists.只需将选项传递给merge,将新数据与任何现有文档一起保存,以避免覆盖整个文档.

有关使用firestore管理数据的更多详细信息,请查看this link

Node.js相关问答推荐

try 使用Puppeteer抓取Twitter时数组空

无法验证叶签名|无法验证第一个证书

Express 4.18正文解析

在Node JS中获取控制台选项卡标题

JsonwebToken过期后如何注销和清除cookie?

使用ReadableStream.管道时NodeJS Crypto Hash不正确

Nest Js - 在 multer 拦截器中如何设置最大文件上传大小并进行可选文件上传

当API返回400状态代码时,使用Reactjs fetch获取错误消息

Redis Typescript 删除方法类型转换

NPM如何管理node_modules传递依赖?

级联定时器和Jest 的异步功能

获取数组的至少一个元素包含子字符串的文档

我可以向NPM添加调试脚本吗?

ISODate 未定义

如何在 Node.js 中等待子进程完成

如何将子集合添加到 Firestore 中的文档?

对不同对象中的函数使用相同的键时,V8 中的函数调用缓慢

Node.js:socket.io 关闭客户端连接

如何判断MongoDB本机nodejs驱动程序中是否存在集合?

deno vs ts-node:有什么区别