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

Hos*_*ari 2 nosql node.js express firebase firebase-realtime-database

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

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 }
Run Code Online (Sandbox Code Playgroud)

这是 json 输出:

{
  "user" : {
    "email" : "TEST77@TEST.com",
    "full_name" : "Hossein Heydari",
    "password" : "test",
    "phone_number" : 54,
    "role" : "client"
  }
}
Run Code Online (Sandbox Code Playgroud)

但我还需要一个自动添加到数据库的Id,就像MongoDB有哪个是_id

我需要 firebase 为任何模型存储具有自动增量 Id 的数据,我该怎么办?

Apo*_*ara 5

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

Run Code Online (Sandbox Code Playgroud)

您可以在这里查看更多详细信息。

或者,如果您想创建类似于 Mongo 所做的事情,那么您应该创建一个自定义的,创建一个像 Mongo 所做的类似的键并将其保留在数据库中,并在每个新插入时将该 ID 添加到模型中。您可以在这里查看。