2015-03-18 16 views
16
{ 
    43268jfjn7983-347983: 
    { 
     title: 'hello world', 
     time: '1000' 
    } 
} 

Như trên, tôi chỉ muốn cập nhật 43268jfjn7983-347983 cho mục đích khác, điều này có thể xảy ra trong Firebase không?Firebase: Cập nhật khóa?

+0

Tôi tự hỏi nếu có câu trả lời thực sự? –

Trả lời

19

Không có cách nào để thay đổi khóa của nút hiện có.

Vì vậy, thay vào đó tôi muốn đi cho:

var ref = new Firebase('https://my.firebaseio.com/'); 
var child = ref.child('43268jfjn7983-347983'); 
child.once('value', function(snapshot) { 
    ref.child('somethingElse').set(snapshot.val()); 
    child.remove(); 
}); 
+0

Cảm ơn, tôi đoán rằng sẽ làm. – createvel

-1

Nếu nó liên quan mục đích gỡ lỗi, nó có thể dễ dàng được thực hiện thông qua các căn cứ hỏa lực cơ sở dữ liệu thời gian thực giao diện điều khiển.

  1. Xuất tệp JSON của cơ sở dữ liệu của bạn bằng cách nhấp vào settings icon và sau đó bật "Xuất JSON".

  2. Mở trong trình chỉnh sửa văn bản đơn giản, áp dụng các sửa đổi bắt buộc và lưu.

  3. Trong bảng điều khiển cơ sở dữ liệu thời gian thực, hãy nhấp vào biểu tượng cài đặt tương tự và sau đó nhấp vào "Nhập JSON".

caveat: Nhập tệp JSON ghi đè toàn bộ cơ sở dữ liệu.

+0

Như đã nói trong câu trả lời, giải pháp này không thể thực sự được sử dụng trong môi trường sản xuất. Quy trình này quá chậm. – sampoh

+0

@sampoh sẽ là một giải pháp cho điều này là có hai DBs đồng bộ và chỉ chuyển đổi ref nếu bạn cần cập nhật một sau đó chuyển nó trở lại sau khi thay đổi và tải lên Jason? – evu

+0

@evu, bạn sẽ không đủ nhanh. Vấn đề là có thể có yêu cầu liên tục đến Firebase trên env sản xuất. Khi bạn nhập xong, bạn có thể đã mất dữ liệu đã được sửa đổi trong DB chính trong khi chỉnh sửa JSON. – sampoh

Các vấn đề liên quan