Firebase实时数据库中的自动增量ID生成器
Posted
技术标签:
【中文标题】Firebase实时数据库中的自动增量ID生成器【英文标题】:auto increment Id generator in firebase real-time database 【发布时间】:2021-07-22 12:48:32 【问题描述】:我正在使用以 express.js 作为后端的 firebase 实时数据库。 这是我的数据保存 sn-p 代码:
const db = require('./firebase_connection').firebaseDatabase
async function saveData(req, model)
await db.ref(model).set(req)
return "statusCode": "201", "message": "Inserted successfully"
module.exports = saveData
这是 json 输出:
"user" :
"email" : "TEST77@TEST.com",
"full_name" : "Hossein Heydari",
"password" : "test",
"phone_number" : 54,
"role" : "client"
但我还需要一个自动添加到数据库的 ID,就像 MongoDB
拥有的 _id
一样
我需要 firebase 为任何模型存储具有自动增量 ID 的数据,我该怎么办?
【问题讨论】:
【参考方案1】:因此,firebase 确实提供了一种在您推送更改时获取唯一密钥的方法,我不确定您是否尝试过:
postsRef.push(
author: "gracehop",
title: "Announcing COBOL, a New Programming Language"
);
// Generate a reference to a new location and add some data using push()
var newPostRef = postsRef.push();
// Get the unique key generated by push()
var postId = newPostRef.key;
您可以查看here了解更多详情。
或者,如果您想创建类似于 Mongo 所做的那样,那么您应该创建一个自定义的,创建一个类似 Mongo 所做的密钥并将其保存在数据库中,并在每次新插入时将该 ID 添加到模型中。您可以查看here。
【讨论】:
以上是关于Firebase实时数据库中的自动增量ID生成器的主要内容,如果未能解决你的问题,请参考以下文章
我在访问子节点时遇到问题。 (firebase 实时数据库 - 增量报告)
iOS Swift 中的 firebase 实时数据库推送等价物是啥?
可以将服务器端逻辑添加到 firebase 以实现自动增量密钥吗?