October 20, 2021

Hướng dẫn sử dụng Google Cloud Datastore (NoSQL) API với NodeJS

Bài viết này sẽ hướng dẫn cách tạo một demo đơn giản với Google Cloud Datastore (NoSQL) API và Node JS. Demo sẽ có các chức năng thêm, xoá, sửa và lấy dữ liệu

I. Yêu cầu

  1. Cài đặt môi trường Node JS (xem hướng dẫn cài đặt tại đây)
  2. Một project GCP đã được kích hoạt Cloud Datastore API

II. Các bước thực hiện

  • Tạo thư mục cloud-datastore-demo
  • Tạo file package.json
  • Mở command prompt tại thư mục cloud-datastore-demo chạy lệnh sau để khởi tạo
npm init
  • Sau khi khởi tạo ta chạy lệnh sau để cài đặt thư viện Google Cloud Datastore
npm install --save “@google-cloud/datastore”
  • Sau khi cài đặt xong ta tạo file index.js trong thư mục cloud-datastore-demo
  • Mở file index.js, import thư viện Google Cloud Datastore vào
const datastore = require('@google-cloud/datastore')
  • Tạo kết nối với Datastore
const datastoreClient = datastore({
 projectId: 'id của project',
 keyFilename: 'đường dẫn key file json'
})
  • Bước tiếp theo chúng ta sẽ thêm một entity vào datastore (tìm hiểu thêm về entity tại đây). Có 2 cách để thêm dữ liệu vào datastore, cách thứ nhất là sử dụng hàm insert để thêm, cách thứ hai là sử dụng hàm upsert để thêm. Sự khác nhau giữa 2 hàm là upsert cho phép ghi đè lên dữ liệu đã tồn taị trên Google Cloud Datastore, insert ko cho phép ghi nếu khoá chính của entity đã tồn tại. Ở đây chúng ta sử dụng hàm insert để thêm.
//KHAI BÁO KHOÁ CHÍNH
let taskKey = datastoreClient.key(['Task', 'sampleTask']);

let task = {
 category: 'Personal',
 done: false,
 priority: 4,
 description: 'Learn Cloud Datastore',
};

let entity = {
 key: taskKey,
 data: task,
};

//THÊM MỘT ENTITY
datastoreClient.insert(entity);
  • Để lấy dữ liệu của entity ta thực hiện như sau
datastoreClient.get(taskKey).then(results => {
 console.log(results);
});
  • Tại command prompt ta chạy câu lệnh node index.js để hiển thị kết quả của entity
  • Và đây là kết quả

  • Để sửa entity đã tạo ta thực thi dòng lệnh sau
let taskEdit = {
 category: 'Team',
 done: true,
 priority: 2,
 description: 'Learn Cloud SQL',
};

let entityEdit = {
 key: taskKey, // KHOÁ CHÍNH CẦN CHỈNH SỬA
 data: taskEdit,
};

datastoreClient.update(entityEdit);
  • Lưu ý: ta chỉ có thể update dữ liệu nếu nó đã tồn tại
  • Và đây là kết quả sau khi update

  • Để xoá entity đã tạo ta thực thi câu lệnh sau
datastoreClient.delete(taskKey)
  • Và đây là kết quả sau khi xoá

Như vậy là qua hướng dẫn trên thì chúng ta đã phần nào nắm được cách thức sử dụng cơ bản của Google Cloud Datastore (NoSQL) API.

Pham Van Tuyen

Anh Tuyen Pham là Tổng giám đốc của Cloud Ace Việt Nam và là GDG Cloud HCM Chapter Lead. Anh là diễn giả quen thuộc tại các sự kiện do Google tổ chức tại Việt Nam như Kubernetes Vietnam, Google Cloud Next Extended. Anh đã có các chứng chỉ của Google Cloud như Google Cloud Architect và Data Engineer.

View all posts by Pham Van Tuyen →