- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
ScriptDb là đối tượng lưu trữ dữ liệu cho file applicable của google, nó ví như một database để kết nối google script vào cơ sở dữ liệu, bạn có thể lưu data dạng json cho từng file spreadsheet, doc… Đầu tiên bạn cần lấy đối tượng ScriptDb từ applicable trong script editor, chúng ta gọi hàm ScriptDb.getMyDb
.
var db = ScriptDb.getMyDb();
Hàm trên trả về đối tượng ScriptDbInstance
và thông tin được truy cập riêng cho từng file và thậm trí include cả trong phiên bản script đã đóng gói làm thư viện.
Thêm dữ liệu
Để lưu dữ liệu đối tượng vào file ứng dụng hiện tại bạn sử dụng hàm db.save(item)
. Ví dụ:
var db = ScriptDb.getMyDb(); var item = { type: 'employee', employee_id: 1, name: { first: 'Fatima', initial: 'S', last: 'Pauli' }, address: { street: '4076 Washington Avenue', city: 'Jackson', state: 'MS', zip: '39201' }, department_id: 52 }; var record = db.save(item);
Khi bạn save đối tượng, ScriptDB sẽ trả về kết quả record được ghi vào database cũng giống như lệnh INSERT INTO của sql với trường auto-inscrease, scriptDB luôn có cột này để phân biệt cho mỗi data. Bạn có thể lấy id của record mới lưu bởi hàm getId()
.
var record = db.save(item); var id = record.getId(); // Then, next execution, load it based on that ID. var record = db.load(id);
Nếu bạn biết id, bạn có thể lấy đối tượng bằng cách gọi hàm db.load(id)
, giống như trên mình có lấy lại đối tượng mới ghi.
Bạn cũng có thể truy cập nhiều đối tượng, vì các object ids có thể sử dụng như foreign key. Tùy theo nhu cầu sử dụng dũ liệu, chúng ta liệt kê các id vào mảng chỉ cần gọi hàm một lần như sau:
var records = db.load([id_1, id_2, id_3]);
Trong đó, id_1, id_2, id_3 là biến chứa giá trị chuỗi là các IDs chỉ định.
Sửa dữ liệu
Để sửa dữ liệu chúng ta cần lấy đối tương chứa dữ liệu đã được lưu vào ScriptDB bởi hàm db.load
, hoặc db.query(query)
hay sửa lại ngay sau khi lưu vào db db.save(item)
.
Trong đối tượng lấy từ db đã có thông tin id scriptdb sẽ tự hiểu bạn đang cập nhật lại đối tượng (record). Ví dụ trên, mình cập nhật lại json.
record.foo = 'bar'; db.save(record);
Cách khác tìm kiếm đối tượng dựa vào thông tin của record bằng cách chỉ định một phần giá trị json của đối tượng.
var record = db.query({employee_id: 29}).next(); record.name.first = 'Fred'; db.save(record);
Gọi hàm next sau đó để xác định đối tượng chứa thông tin tìm thấy.
Xóa dữ liệu
Mình nhận thấy thiết kế api cho các ứng dụng đều giống nhau, nên việc học ngôn ngữ máy tính hay api của một dịch vụ sẽ đơn giản hơn, ý tưởng xóa dữ liệu ra khỏi ScriptDb cho file hiện tại cũng dựa vào id của record hoặc đối tượng record, vì trong đối record chứa thông tin id của dữ liệu.
db.remove(record);
hoặc sử dụng removeById.
var id = record.getId(); db.removeById(id);
Trên đây là cơ bản cách sử dụng ScriptDB giúp bạn lưu dữ liệu từ ứng dụng google script. Chúc bạn thành công.
Để nhận được bài viết mới vui lòng đăng ký kênh kiến thức WordPress từ A-Z ở Form bên dưới. Bạn cũng có thể nhận được sự trợ giúp trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype