firebase实时数据库中的自动增量ID生成器

auto increment Id generator in firebase real-time database

我正在使用以 express.js 作为后端的 firebase 实时数据库。 这是我的数据保存代码段:

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 的数据,我应该怎么做?

因此,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.