Pertimbangkan kode berikut untuk penulisan atomik di beberapa lokasi di FireBase:
var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com");
var newPostRef = ref.child("posts").push();
var newPostKey = newPostRef.key();
var updatedUserData = {};
updatedUserData["users/"+authData.uid+"/posts/" + newPostKey] = true;
updatedUserData["posts/" + newPostKey] = {
title: "New Post",
content: "Here is my new post!"
};
ref.update(updatedUserData, function(error) {
if (error) {
console.log("Error updating data:", error);
}
});
Pendekatan ini dapat digunakan untuk memperbarui postingan di lokasi berbeda, tetapi bagaimana cara menerapkan pembaruan atom di sisi server? (melalui aturan).
Bagaimana cara memastikan bahwa pengguna tidak dapat memperbarui lokasi /posts/
(melalui referensi langsungnya) tanpa mengisi users/UID/posts/
atau sebaliknya?