[英]How to fix random number generate in the child db column in firebase?
So I want to submit this web form to firebase using js script and live server that in visual studio code.所以我想使用js脚本和visual studio代码中的实时服务器将此Web表单提交给firebase。 But after the submit, there is a child column with random numbers like this .
但提交后,有一个与随机数像个孩子列此。 I want to give a value of the name column "lakshan" to that column.
我想为该列提供名称列“lakshan”的值。 How I do that ?
我怎么做?
Current result is messages is Object当前结果是消息是对象
I want messages as Array我想要消息作为数组
This is the js code这是js代码
// Initialize Firebase (ADD YOUR OWN DATA)
var firebaseConfig = {
apiKey: "api key here",
authDomain: "test-a137f.firebaseapp.com",
databaseURL: "https://test-a137f.firebaseio.com",
projectId: "test-a137f",
storageBucket: "test-a137f.appspot.com",
messagingSenderId: "id here",
appId: "appId goes here",
measurementId: "the measurementId"
};
firebase.initializeApp(firebaseConfig);
firebase.analytics();
// Reference messages collection
var messagesRef = firebase.database().ref('Admins');
// Listen for form submit
document.getElementById('contactForm').addEventListener('submit', submitForm);
// Submit form
function submitForm(e){
e.preventDefault();
// Get values
var name = getInputVal('name');
var company = getInputVal('company');
var email = getInputVal('email');
var phone = getInputVal('phone');
var message = getInputVal('message');
// Save message
saveMessage(name, company, email, phone, message);
// Show alert
document.querySelector('.alert').style.display = 'block';
// Hide alert after 3 seconds
setTimeout(function(){
document.querySelector('.alert').style.display = 'none';
},3000);
// Clear form
document.getElementById('contactForm').reset();
}
// Function to get get form values
function getInputVal(id){
return document.getElementById(id).value;
}
// Save message to firebase
function saveMessage(name, company, email, phone, message){
var newMessageRef = messagesRef.push();
newMessageRef.set({
name: name,
company:company,
email:email,
phone:phone,
message:message
});
}
The random number you get is a unique key generated by the push()
method.你得到的随机数是由
push()
方法生成的唯一密钥。
If you want to use your own key you need to use the set()
method as follows:如果要使用自己的密钥,则需要使用
set()
方法,如下所示:
var messagesRef = firebase.database().ref('Admins');
var childNode = 'lakshan';
// Or var childNode = 'Alex';
// Or var childNode = 'Denis';
messagesRef.child(childNode).set({
name: name,
company:company,
email:email,
phone:phone,
message:message
});
This is how I wanted.这就是我想要的。 Thank you Renaud ;)
谢谢雷诺 ;)
var childNode = name;
// Or var childNode = 'Alex';
// Or var childNode = 'Denis';
messagesRef.child(childNode).set({
name: name,
company:company,
email:email,
phone:phone,
message:message
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.