1

프론트 엔드 (각도 4)와 백엔드 (파이어베이스 기능) 모두에서 firebase 데이터베이스에 데이터를 쓸 때, firebase에 의해 생성 된 푸시 키가 있습니다. 이 키를 사용하면 고유 한 키이므로 나중에 데이터에 액세스 할 수 없습니다. 키를 직접 설정할 수있는 방법이 있는지 궁금하거나 키를 알지 못하고 데이터에 액세스 할 수 있습니까?firebase 데이터베이스를 푸시 할 때 푸시 키를 설정하는 방법은 무엇입니까?

admin.database().ref('/messages').push({original: original}).then(function (snapshot) { 
res.redirect(303, snapshot.ref);}); 

내가 밀어 모든 데이터는 아래에있을 것입니다 : 여기


this.db.list(`${this.basePath}/`).push(upload); 
백엔드에서 내 코드입니다 : 여기


은 프론트 엔드에서 내 코드입니다 경로/푸시 ID/데이터

simple image

나는 pushID을 모른 채 데이터에 액세스 할 수 없습니다.
내가 원하는 최상의 사례는 경로/내 pushID/데이터입니다.

도움을 주셔서 대단히 감사합니다 !!

답변

1

키는 어떤 식 으로든 고유해야합니다. 당신은 뭔가 독특한 같은 auth uid 또는 사용자의 email을 할 수있는이 대신 push

admin.database().ref('/messages/'+ yourUniqueId).set({original: original}).then(function (snapshot) { 
res.redirect(303, snapshot.ref);}); 

yourUniqueId처럼 자신의 키를 set 수 있습니다.

0

모든 메시지를 통해 루프를 원하는 경우 :

var ref = firebase.database().ref("messages"); 
ref.once("value", function(snapshot) { 
    snapshot.forEach(function(message) { 
    console.log(message.key+": "+message.val().original); 
    }); 
}); 

사용, 쿼리 특정 메시지를 찾으려면 : 더 많은이에 대한

var ref = firebase.database().ref("messages"); 
var query = ref.orderByChild("original").equalTo("aaaa"); 
query.once("value", function(snapshot) { 
    snapshot.forEach(function(message) { 
    console.log(message.key+": "+message.val().original); 
    }); 
}); 

에서, 중포 기지 문서를 읽어 reading lists of data, sorting and filtering dataFirebase codelab을 가져 가십시오.

관련 문제