Làm cách nào để thêm dữ liệu vào Firebase?

Đôi khi, bạn có thể muốn lưu trữ dữ liệu không phù hợp với các loại dữ liệu hiện có hoặc bạn muốn lưu trữ thứ gì đó yêu cầu kết hợp các loại dữ liệu hiện có, chẳng hạn như lưu trữ địa chỉ của người dùng. Địa chỉ điển hình bao gồm căn hộ, đường phố, thành phố, quốc gia, mã zip, v.v. Sử dụng loại dữ liệu tùy chỉnh, bạn có thể lưu trữ tất cả thông tin này cùng nhau dưới dạng các trường con vào một trường duy nhất

Dữ liệu Firebase đại diện cho các đối tượng JSON. Nếu bạn mở ứng dụng của mình từ bảng điều khiển Firebase, bạn có thể thêm dữ liệu theo cách thủ công bằng cách nhấp vào dấu +

Chúng ta sẽ tạo một cấu trúc dữ liệu đơn giản. Bạn có thể kiểm tra hình ảnh dưới đây

Trong chương trước, chúng tôi đã kết nối Firebase với ứng dụng của mình. Bây giờ, chúng ta có thể đăng nhập Firebase vào bảng điều khiển

console.log[firebase]

Chúng tôi có thể tạo tham chiếu đến bộ sưu tập của người chơi.

  
var ref = firebase.database[].ref['players'];

console.log[ref];

Chúng ta có thể thấy kết quả sau trong bảng điều khiển

Có hai phương pháp mà chúng tôi có thể sử dụng để thêm dữ liệu tài liệu vào Firebase Cloud Firestore Phiên bản 9

  • addDoc[] → bạn đang ở đây
  • setDoc[]

Ghi chú. Trước khi tiến xa hơn, bạn sẽ cần làm ba việc

Để sử dụng phương thức addDoc[], chúng ta cần nhập ba phương thức từ câu lệnh nhập Firebase Firestore

  1. getDatabase[] → Cơ sở dữ liệu Firestore nơi chúng tôi muốn thêm dữ liệu dưới dạng tài liệu
  2. collection[] → Nơi chúng tôi muốn thêm tên bộ sưu tập và tham chiếu cơ sở dữ liệu
  3. addDoc[] → Nơi chúng tôi thực sự chuyển dữ liệu của mình cùng với tên bộ sưu tập và tham chiếu db
import { getFirestore, collection, addDoc } from "firebase/firestore";

1. Khởi tạo cơ sở dữ liệu Firestore

Khởi tạo cơ sở dữ liệu Firestore và lưu trữ nó trong hằng số được gọi là db

const db = getFirestore[app];

Phương thức addDoc[] sẽ nhận hai đối số

  • bộ sưu tập [] – chuyển cơ sở dữ liệu và tham chiếu tên bộ sưu tập làm đối số cho nó
  • dữ liệu {} – dữ liệu mà chúng tôi muốn thêm vào bộ sưu tập dưới dạng một trong các tài liệu của nó

2. Bộ sưu tập [] Phương pháp

Phương thức collection[] này cũng có hai đối số

  • cơ sở dữ liệu → db
  • tên bộ sưu tập → người dùng

Gọi phương thức bộ sưu tập [] và chuyển các tham chiếu cơ sở dữ liệu [db] và tên bộ sưu tập [người dùng] trong dấu ngoặc kép cho nó

Gán nó cho một hằng số gọi là dbRef

const dbRef = collection[db, "users"];

Như bạn có thể thấy, Cơ sở dữ liệu Firestore không có tên bộ sưu tập là “người dùng“

Bạn có thể thắc mắc…

Làm cách nào chúng tôi có thể thêm dữ liệu vào bộ sưu tập không tồn tại trong Cơ sở dữ liệu Firestore?

Trong Cơ sở dữ liệu Firestore, bạn chỉ có thể thêm một hoặc nhiều tài liệu bên trong bộ sưu tập

Nhưng bạn sẽ không thể tự thêm bộ sưu tập mà không có bất kỳ tài liệu nào

Khi bạn thêm dữ liệu dưới dạng tài liệu vào một bộ sưu tập, phương thức addDoc[] sẽ cố gắng tìm tên bộ sưu tập được chỉ định trong phương thức bộ sưu tập[]

Trong trường hợp này người dùng

Nếu nó không thể tìm thấy người dùng tên bộ sưu tập,

Nó sẽ tạo một bộ sưu tập mới có tên là người dùng và thêm dữ liệu bên trong nó dưới dạng tài liệu

3. Dữ liệu tài liệu {}

Đối số thứ hai của phương thức addDoc[] là dữ liệu thực tế mà chúng tôi muốn lưu trữ dưới dạng tài liệu bên trong bộ sưu tập người dùng

Tin vui là chúng ta có thể chỉ cần lưu trữ một đối tượng JavaScript dưới dạng dữ liệu tài liệu bên trong cơ sở dữ liệu Firestore

Vì vậy, hãy tạo một đối tượng JavaScript với một vài cặp khóa-giá trị hay còn gọi là thuộc tính

const data = {
   name: "Raja Tamil",
   country: "Canada"
};

4. Thêm dữ liệu tài liệu bằng addDoc[]

Bây giờ chúng ta có cả hai đối số cần thiết để sử dụng thành công phương thức addDoc[]

Hãy gọi phương thức addDoc[] và truyền dbRef và dữ liệu làm đối số cho nó

import { getFirestore, collection, addDoc } from "firebase/firestore";
...
addDoc[dbRef, data]
.then[docRef => {
    console.log["Document has been added successfully"];
}]
.catch[error => {
    console.log[error];
}]

Chạy ứng dụng

Quay lại trang Cơ sở dữ liệu Firestore, sau đó làm mới và bạn có thể thấy chúng tôi đã thêm thành công dữ liệu vào Cơ sở dữ liệu Firestore

Nó có ba cột

  • Cột đầu tiên → bộ sưu tập người dùng
  • Cột thứ hai → Firebase tự động tạo id tài liệu duy nhất thường là giá trị số alpha

Điều này cực kỳ hữu ích vì chúng tôi có thể xác định bất kỳ tài liệu nào trong bộ sưu tập người dùng bằng id tự động hoặc id tài liệu này

  • Cột thứ ba → Dữ liệu thực tế được lưu trữ dưới dạng tài liệu ở định dạng cặp khóa-giá trị

5 Lấy ID tài liệu bằng addDoc[]

Đôi khi, bạn muốn lấy ID tài liệu được tạo tự động ngay sau khi dữ liệu được thêm vào Cơ sở dữ liệu Firestore

May mắn thay, bạn có thể làm điều đó bằng phương thức addDoc[]

Để lấy ID được tạo tự động từ phản hồi, tất cả những gì chúng ta phải làm là truy cập thuộc tính id trên đối tượng docRef

addDoc[dbRef, data]
.then[docRef => {
    console.log[dbRef.id]; //p4eZcO5QV43IYnigxALJ
}]
.catch[error => {
    console.log[error];
}]

Đôi khi bạn muốn thêm dữ liệu tài liệu vào Cloud Firestore bằng id tài liệu tùy chỉnh của riêng mình, chẳng hạn như email, v.v. thay vì id được tạo tự động

Làm cách nào để ghi dữ liệu vào Cơ sở dữ liệu Firebase của tôi?

This document covers the four methods for writing data to your Firebase Realtime Database: set, update, push, and transactions support. Add to a list of data in the database. Every time you push a new node onto a list, your database generates a unique key, like messages/users//

Firebase hoạt động như thế nào?

Mọi máy khách được kết nối với cơ sở dữ liệu Firebase đều duy trì phiên bản nội bộ của riêng mình đối với bất kỳ dữ liệu đang hoạt động nào. Khi dữ liệu được ghi, nó sẽ được ghi vào phiên bản cục bộ này trước. Sau đó, ứng dụng khách Firebase sẽ đồng bộ hóa dữ liệu đó với các máy chủ cơ sở dữ liệu từ xa và với các ứng dụng khách khác trên cơ sở "nỗ lực cao nhất"

Quy tắc bảo mật Cơ sở dữ liệu thời gian thực Firebase là gì?

Cơ sở dữ liệu thời gian thực cung cấp một ngôn ngữ quy tắc linh hoạt, dựa trên biểu thức, được gọi là Quy tắc bảo mật cơ sở dữ liệu thời gian thực Firebase, để xác định cách cấu trúc dữ liệu của bạn và khi nào dữ liệu có thể được đọc hoặc ghi vào. Khi được tích hợp với Xác thực Firebase, nhà phát triển có thể xác định ai có quyền truy cập vào dữ liệu nào,

Dữ liệu được đồng bộ hóa với Firebase NoSQL như thế nào?

Lưu trữ và đồng bộ hóa dữ liệu với cơ sở dữ liệu đám mây NoSQL của chúng tôi. Dữ liệu được đồng bộ hóa trên tất cả các ứng dụng trong thời gian thực và vẫn khả dụng khi ứng dụng của bạn ngoại tuyến. Cơ sở dữ liệu thời gian thực Firebase là cơ sở dữ liệu được lưu trữ trên đám mây. Dữ liệu được lưu trữ dưới dạng JSON và được đồng bộ hóa trong thời gian thực tới mọi máy khách được kết nối

Chủ Đề