Truy vấn dữ liệu MongoDB

789

Bài viết được sự cho phép của smartjob.vn

Trong phần này, SmartJob sẽ giới thiệu đến bạn nhiều cú pháp truy vấn khác nhau, theo một hay nhiều điều kiện.

  Kiểm thử qui hồi – Cơn ác mộng của kỹ sư kiểm thử
  MongoDB là gì? Cơ sở dữ liệu phi quan hệ

Xem thêm các việc làm MongoDB lương cao trên TopDev

CHUẨN BỊ DỮ LIỆU

Làm việc với MongoDB, thông thường là làm việc với dữ liệu lớn, do đó cần chuẩn bị cơ sở dữ liệu có kích thước tương đối lớn để sát với thực tế sử dụng. Tải về từ server SmartJob 2 cơ sở dữ liệu mẫu, bấm vào để download
– zips: Cơ sở dữ liệu về mã số bưu cục tại Mỹ (file download 567 KB, sau giải nén 3,03 MB, dữ liệu thật, hoàn toàn sát với thực tế).
– dataset: Cơ sở dữ liệu thông tin về quán ăn, nhà hàng (file donwload 1,5 MB, sau giải nén 11,6 MB)Sau khi download về, bạn giải nén ra.

Import collection có tên zips vào vào CSDL test (test là CSDL có sẵn sau khi cài đặt MongoDB)

mongoimport --db test --collection zips --drop --file "C:\zips.json"

db1

Khi sử dụng tiện ích RockMongo để import dữ liệu, thời gian import rất lâu và dễ bị lỗi. Việc sử dụng câu lệnh là rất tốt, nhanh, tránh được lỗi.

db2

Trong Hệ quản trị Cơ sở dữ liệu MongoDB sẽ có nhiều CSDL, do đó bạn cần khai báo sẽ sử dụng CSDL nào. Gõ lệnh

use test;

Để sử dụng CSDL test

mongo3

Gõ lệnh dưới đây để xem nội dung collection “zips” của Cơ sở dữ liệu “zips”. (Đây chính là câu lệnh hiển thị toàn bộ nội dung của collection zips)

db.zips.find().pretty();

Do lượng dữ liệu lớn, cửa sổ dòng lệnh không thể liệt kê hết. Để xem thêm trang sau, bạn gõ

it

rồi nhấn phím Enter.

mong4

Công tác chuẩn bị dữ liệu đã sẵn sàng để bạn tạo các truy vấn từ đơn giản đến phức tạp.

TRUY VẤN THEO ĐIỀU KIỆN

Tìm bưu cục có id = 01002, do tìm theo id, nên sẽ trả về không quá 1 document

db.zips.find(

     {"_id": "01002"}

);

mong5

Để tìm document chứa dữ liệu về bưu cục vill

db.zips.find(

     {"city": "GILBERTVILLE"}

);

mong6

Các bạn tham khảo mã nguồn sử dụng Spring Data Mongo để C.R.U.D. (Create – Read – Update – Delete) dữ liệu MongoDB tại: https://github.com/SmartJobVN/MongoDB_SpringDataMongo

Đỗ Như Vý – developer tại SmartJob

Bài viết gốc được đăng tải tại smartjob.vn

Có thể bạn quan tâm:

Xem thêm Việc làm IT hấp dẫn trên TopDev