我正在尝试学习新的火力基地,并且正在跟随他们网站上的指南,但我只是没有让这部分正确。如何将数据保存到数据库?目前我的数据库是空的,我想要发生的是用户在文本输入中键入内容然后点击保存,这应该保存用户键入的任何内容以及他的UId和数据的dateCreated。这就是我得到的:
<script src="https://www.gstatic.com/firebasejs/3.2.0/firebase.js"></script>
<script>
// Initialize Firebase. Note that I'm not using the real init details in this post but I assure you they are present in my app
var config = {
apiKey: "myApiKey",
authDomain: "myProject.firebaseapp.com",
databaseURL: "https://myProject.firebaseio.com",
storageBucket: "myProject.appspot.com",
};
firebase.initializeApp(config);
var database = firebase.database()
// A whole bunch of other unrelated functions and stuff here
$('#addMeal').click(function() {
$('#addBox').slideUp();
var meal = $('#txtAdd'); var uid = $('#uid').val();
// If I try to console.log these two vars up here it does actually fire so I don't think there's something wrong with the jquery.
if(meal.val()) {
function createMeal(uid, email) {
firebase.database().ref('meals/').set({
title: name,
user: uid,
dateCreated: new Date()
});
}
} else {
$('#addBox').addClass('margin_top_xs alert alert-danger').slideDown();
$('#addMsg').html('<h5 class="centered bold margin_bot_no"> You can\'t enter a blank meal!</h5>');
}
});
</script>
另外请记住,我并不真正知道我应该使用哪种写法,我想要做的就是将每顿饭保存到数据库而不保存任何其他数据,所以我不介意如果您使用不同的方法来回答保存数据。
任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
听起来你正试图保留一份餐点清单。因此,不应调用set
(顾名思义)在数据库中的位置设置数据,而应调用push()
appends the data to a list of data:
function createMeal(uid, email) {
firebase.database().ref('meals/').push({
title: name,
user: uid,
dateCreated: new Date()
});
}
我链接的文档更详细地解释了这一点,因此我建议(重新)阅读它。