Javascript 子函数在Firebase中做什么?
我正在为Firebase阅读,我来到了这一部分:Javascript 子函数在Firebase中做什么?,javascript,database,firebase,firebase-realtime-database,Javascript,Database,Firebase,Firebase Realtime Database,我正在为Firebase阅读,我来到了这一部分: function writeNewPost(uid, username, picture, title, body) { // A post entry. var postData = { author: username, uid: uid, body: body, title: title, starCount: 0, authorPic: picture }; //
function writeNewPost(uid, username, picture, title, body) {
// A post entry.
var postData = {
author: username,
uid: uid,
body: body,
title: title,
starCount: 0,
authorPic: picture
};
// Get a key for a new Post.
var newPostKey = firebase.database().ref().**child('posts')**.push().key;
我怎么能理解这一点?目前我认为这是在说“从数据库的根开始,创建一个节点并将其访问密钥存储在一个变量中”。使用带有“posts”的子函数有什么用?我可以像下面这样运行类似的代码并得到相同的结果
var newPostKey = firebase.database().ref().push().key;
当从文档(这里没有显示)的其余代码示例上下文中获取第二位代码时,实际上不会给出相同的结果 实际上,您所展示的代码实际上根本不会在数据库中创建任何数据,因为如果没有向push()传递任何内容,那么它只会返回一个对您以后可以写入的位置(具有唯一键)的引用。您忽略的示例部分实际上执行了更新 API文档说明: 获取指定相对路径处位置的引用
该方法帮助您构建指向引用的路径。在第二个示例中,如果不调用child(),则引用将位于数据库的根目录下,而不是“/posts”下。虽然在这两种情况下您都会得到一个唯一的键,但它在数据库中的位置会有所不同(在您实际在数据库中写入数据之后)。在文档中的其余代码示例(此处未显示)的上下文中,您的第二位代码实际上不会给出相同的结果 实际上,您所展示的代码实际上根本不会在数据库中创建任何数据,因为如果没有向push()传递任何内容,那么它只会返回一个对您以后可以写入的位置(具有唯一键)的引用。您忽略的示例部分实际上执行了更新 API文档说明: 获取指定相对路径处位置的引用
该方法帮助您构建指向引用的路径。在第二个示例中,如果不调用child(),则引用将位于数据库的根目录下,而不是“/posts”下。虽然在这两种情况下您都会得到一个唯一的密钥,但它在数据库中的位置会有所不同(在您实际在数据库中写入数据之后)。我感谢您的反馈。我原以为别人看得太久,但我猜我错了,把事情说得断章取义。谢谢,下次我会记下来阅读参考资料。我感谢你的反馈。我原以为别人看得太久,但我猜我错了,把事情说得断章取义。谢谢,下次我会记下来阅读参考资料。