Node.js admin.firestore.FieldValue.serverTimestamp()无法使用Firebase实时数据库

Node.js admin.firestore.FieldValue.serverTimestamp()无法使用Firebase实时数据库,node.js,firebase-realtime-database,timestamp,Node.js,Firebase Realtime Database,Timestamp,我正在尝试用Firebase实时数据库编写一个消息传递应用程序,它在Cloud Firestore上已经有了一些功能。我在一个文件messages.js const admin = require('firebase-admin'); const config = require('./config'); admin.initializeApp(config);//config information const realtime_db = admin.database(); const

我正在尝试用Firebase实时数据库编写一个消息传递应用程序,它在Cloud Firestore上已经有了一些功能。我在一个文件
messages.js

const admin = require('firebase-admin');
const config = require('./config');

admin.initializeApp(config);//config information

const realtime_db = admin.database();


const { uuid } = require("uuidv4");

const {
    generate_message_structure,
} = require("../util/schema");


exports.async_create_message = async function(data, context) {
    try {
        const message = generate_message_structure(data);//creates a Javascript Object

        const message_log_id = "Some_id";//derived from a function
        //Some interactions with Cloud Firestore



        const generated_token = uuid();
        await realtime_db.ref(`messages/${message_log_id}/${generated_token}`).set(message);

        console.log(message);//output shown later

        console.log("Message created");
        console.log(`message_id of ${generated_token}`)
    } catch (error) {
        console.log(error);
    }
}
我在同一个文件的底部编写了测试,并运行
node messages.js
在数据库中创建了一条记录

const mockMessage = {};//capitalised constants are strings

mockMessage[MESSAGE_BODY] = "Test body";
mockMessage[MESSAGE_SENDER_ID] = "Alice_id";
mockMessage[MESSAGE_RECEIVER_ID] = "Bob_id";
mockMessage[MESSAGE_IMAGE] = {
    uid: "random_id",
    url: "google.com"
};

exports.async_create_message(mockMessage);
前面注释的my
console.log
的输出具有以下结构

{
  body: 'Test body',
  sender_id: 'Alice_id',
  receiver_id: 'Bob_id',
  image: { uid: 'random_id', url: 'google.com' },
  last_updated: ServerTimestampTransform {},
  created_at: ServerTimestampTransform {},
  seen: false
}

但是当我检查数据库中的记录时,除了上次更新的
和创建的
时间戳字段之外,所有字段都存在。我可以知道这段代码有什么问题吗?

在与实时数据库交互时,您正在尝试为Firestore使用一个常量。虽然这两个数据库都是Firebase的一部分,但它们是完全独立的,不能将API用于其中一个数据库

要将服务器端时间戳写入实时数据库,请使用:

ref.set(firebase.database.ServerValue.TIMESTAMP)
另请参阅上的Firebase文档