我正在尝试使用.key
检索插入到数据库中的元素的ID。但是,它将返回user
值,而不是自动生成的ID。
如何获取自动生成的ID?
var mainText = document.getElementById("main-text");
var emailText = document.getElementById("emailtxt");
var prenom = document.getElementById("prenomtxt");
var submitBtn = document.getElementById("submitBtn");
var heading = document.getElementById("heading");
var firebaseHeadingref = firebase.database().ref().child("titre");
firebaseHeadingref.on('value', function(datasnapchot){
heading.innerText = datasnapchot.val();
})
function submitClick(){
var firebaseref = firebase.database().ref();
var messageText = mainText.value;
var txtmail = emailText.value;
var prenomtxt = prenom.value;
if(messageText == "" || txtmail == "" || prenomtxt == ""){
alert("Tous les champs doivent être remplis");
return;
}
firebaseref.child("user").push().set({name : messageText, prenom:prenomtxt ,email : txtmail});
var f = firebase.database().ref().child("user").orderByChild("email").equalTo(txtmail);
// firebaseref.child("user").push({name: messageText, prenom:prenomtxt, email: txtmail}).then(pushed_user => {
//
// console.log(pushed_user.key);
//
// });
f.on("value", function(datasnapchot){
var id = datasnapchot.val();
console.log(id);
});
// location.reload();
}
答案 0 :(得分:0)
尝试像函数一样调用它:
var id = datasnapchot.key();
答案 1 :(得分:0)
当您推送一个元素时,您可以直接检索自动生成的ID,而无需调用侦听器。
firebaseref.child("user").push({name: messageText, prenom:prenomtxt, email: txtmail}).then(pushed_user => {
console.log(pushed_user.key);
});
您可以找到另一个示例here。
答案 2 :(得分:0)
public async Task LoginTest()
{
// Arrange
var formData = new Dictionary<string, string>
{
{ "Email", "email_2_test@mail.com" },
{ "Password", "1234567" }
};
// Act
var response = await _client.PostAsync("/Account/Login", new FormUrlEncodedContent(formData));
var actualSessionValue = HttpContext.Session.GetInt32("ProfileUser"); // This not work
Assert.Equal(3212, actualSessionValue)
Assert.Equal(HttpStatusCode.Found, response.StatusCode);
Assert.Equal("/DashboardAdmin", response.Headers.Location.ToString());
}
“ newPostKey”将作为您的密钥
答案 3 :(得分:0)
尝试以下操作:
var ref = firebase.database().ref("users");
ref.push().on("value", function(snapshot) { snapshot.forEach(function(childSnapshot) {
var id = childSnapshot.key();
console.log(childSnapshot);
});
});
您需要使用forEach
进行循环,然后才能使用key()
来检索按键
答案 4 :(得分:0)
这对我有用
var id = datasnapchot.key;
使用 datasnapchot.key 代替 datasnapchot.key()