Friday, May 13, 2016

[Swift] Hướng dẫn kết nối server Perfect với MongoDB

Như bài ví dụ trước mình có hướng dẫn cách thiết lập căn bản để các bạn có thể viết 1 webservice đơn giản và kết nối với cơ sở dữ liệu là database bằng ngôn ngữ Swift. Các bạn có thể xem qua tại đây.

Bài này mình xin hướng dẫn các bạn thiết lập server hiện tại cho chạy với database MongoDB.

MongoDB là gì?

MongoDB là một cơ sở dữ liệu (database) theo dạng tài liệu (document), mã nguồn mở (open source), miễn phí, chạy trên nhiều nền tảng (cross-platform). Được phân loại như là NoSQL database.

MongoDB không sử dụng cấu trúc cơ sở dữ liệu quan hệ dựa theo dạng bảng (table) như truyền thống, mà dùng cơ chế lưu theo dạng document (JSON) với scheme động (MongoDB gọi đó là định dạng BSON) làm cho việc tích hợp các dữ liệu trong một số loại ứng dụng dễ dàng hơn và nhanh hơn.

Còn chần chờ gì nữa các bạn không thử xài MongoDB để cảm nhận công nghệ NoSql là như thế nào ^^.

Hướng dẫn cài đặt MongoDB trên máy local:

Bước 1: Bạn vào trang chủ download của MongoDB. Có 2 cách để cài MongoDB 1 là theo manual tức là bạn tải file về bình thường và cài đặt, cách thứ 2 là cài thông qua brew. Mình thích cài theo cách thứ 2.

Bước 2: Bạn vào trang hướng dẫn cài MongoDB theo brew và làm theo hướng dẫn của người ta. Lưu ý hướng dẫn cài rất đơn giản nhưng có nhìu sư lựa chọn tuỳ theo nhu cầu của bạn thì cài theo dạng bình thường hay có hỗ trợ TLS/SSL

Bước 3: Khởi tạo thư mục chứa dữ liệu MongoDB, bằng cách nhập lệnh sau:
 mkdir -p /data/db


Thiết lập quyền truy suất thư mục đó:
sudo chmod 777 /data/db

Chạy MongoDB server:
mongod
PS: Nên để nguyên tab khởi tạo chạy MongoDB để sử dụng, khi nào không cần sử dụng thì đóng tab này đi để tắt Server của MongoDB.

Mở tab mới trên terminal và nhập lệnh để mở command line cho MongoDB:
mongo

Trên terminal đó bạn nhập dòng lệnh như sau để khởi tạo database với tên là PerfectDatabase:
use PerfectDatabase

Sau đó bạn khởi tạo đối tượng Collection là User (giống Table của cở sở dữ liệu thông thường):
db.createCollection(“User",{capped:true,autoIndexID:true,size:10240,max:100})

Sau khi bạn khởi tạo Collection xong bạn có thể chạy đoạn code Post để thêm dữ liệu trước khi dùng Get api để lấy dữ liệu về như code demo của mình bên dưới.

Hướng dẫn thiết lập MongoDB connector với Perfect  trên Server Local:

Bước 1: Nắm kéo thả project MongoDB trong thư mục Connectors project vào workspace:

Bước 2: Chọn Target là PerfectServer, và nhấn dấu cộng phần "Linked Frameworks and Libraries" để sử dụng MongoDB connector.

Bước 3: Thêm code server
Tại file "PerfectHandlers.swift" chúng ta thêm những đoạn code khai báo 2 loại Restful Api như sau:
Và khai báo đối tượng của phương thức Get lấy danh sách những item trong collection: Còn đối tượng cho phương thức Post thì viết như sau: Bạn có thể mở lệnh curl để chạy thử api trên terminal.

Các bạn có thể lấy toàn bộ source code của mình tại GitHub

Tài liệu tham khảo:

- Integrate MySQL Into a Swift Perfect Web Server.
- MongoDB tutorials.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.