我想更新这样的文档:

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相关问答推荐

在我的Next.js应用程序中没有正确设置Process.env.NODE_ENV

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

Node.js中Redis的并发问题

ForbidenError:使用Express.js的CSRF令牌无效

PM2 是否需要成为其托管项目的依赖项?

为什么即使数据库确实更新了,此 POST 也无法解析并返回 200 代码?

如何在nodejs中打印pdf

如何在套接字对象中存储或添加数据?

Mongoose post中间件触发deleteMany

在 nodejs 中使用 multer 上传文件返回未定义的 req.file 和空的 req.body

BrowserRouter工作时为什么HashRouter不工作?

Mongoose-更新嵌套数组

配额超出了每分钟的 Sheets API 写入请求数. node .js

为什么需要在 NodeJS 应用程序中创建服务器?

如何防止 node.js 中的内存泄漏?

eslint - vscode 的可选链接错误

NODEJS 进程信息

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

如何从 npm 注册表中删除 npm 包?

为什么 Node.js 没有原生 DOM?