- vừa được xem lúc

Toán Từ Mongodb P1

0 0 7

Người đăng: Phúc Lâm

Theo Viblo Asia

Khi làm việc với MongoDB, việc truy vấn và phân tích dữ liệu hiệu quả là một yếu tố quan trọng để tối ưu hóa ứng dụng của bạn. Để làm được điều này, việc nắm vững các toán tử truy vấn của MongoDB là rất cần thiết. Các toán tử này giúp bạn dễ dàng tìm kiếm, lọc và phân loại dữ liệu theo nhiều tiêu chí khác nhau. Trong bài viết này, chúng ta sẽ cùng khám phá các toán tử so sánh và toán tử logic trong MongoDB, cùng với cú pháp và ví dụ cụ thể để bạn có thể áp dụng chúng trong các truy vấn của mình.

I. Toán Tử So Sánh

1. $eq (equal)

Toán tử $eq được dùng để tìm các document mà giá trị của trường bằng một giá trị cụ thể.

Cú pháp:

{ "field": { "$eq": value } }

Ví dụ:

db.collection.find({ "age": { "$eq": 25 } })

⇒ Truy vấn này tìm document mà trường age bằng 25.

2. $ne (not equal)

Toán tử $ne được dùng để tìm các document mà giá trị của trường không bằng một giá trị cụ thể.

Cú pháp:

{ "field": { "$ne": value } }

Ví dụ:

db.collection.find({ "status": { "$ne": "inactive" } })

⇒ Truy vấn này tìm document mà trường status không phải là "inactive".

3. $gt (greater than)

Toán tử $gt được dùng để tìm các document mà giá trị của trường có giá trị lớn hơn một giá trị cụ thể khác.

Cú pháp:

{ "field": { "$gt": value } }

Ví dụ:

db.collection.find({ "score": { "$gt": 80 } })

⇒ Truy vấn này tìm document mà trường score lớn hơn 80.

4. $lt (less than)

Toán tử $lt thường dùng để tìm các document mà giá trị của trường của chúng nhỏ hơn một giá trị cụ thể.

Cú pháp:

{ "field": { "$lt": value } }

Ví dụ:

db.collection.find({ "score": { "$lt": 50 } })

⇒ Truy vấn này tìm các document mà trường score nhỏhơn 50.

5. $gte (greater than or equal to)

Toán tử $gte dùng để tìm các document mà giá trị của trường dữ liệu lớn hơn hoặc bằng một giá trị cụ thể.

Cú pháp:

{ "field": { "$gte": value } }

Ví dụ:

db.collection.find({ "score": { "$gte": 50 } })

⇒ Truy vấn này tìm các document nơi mà giá trị của trường **score**lớn hơn hoặc bằng 50.

6. $lte (less than or equal to)

**Toán tử $lte**dùng để tìm các document có giá trị của của 1 trường nhỏ hơn hoặc bằng một giá trị cụ thể cần tìm .

Cú pháp:

{ "field": { "$lte": value } }

Ví dụ:

db.collection.find({ "age": { "$lte": 30 } })

⇒ Truy vấn này tìm document nơi mà trường age nhỏ hơn hoặc bằng 30.

7. $in (in)

**Toán tử $in**dùng để tìm các document mà giá trị của cầm tìm nằm trong một mảng.

Cú pháp:

{ "field": { "$in": [value1, value2, ...] } }

Ví dụ:

db.collection.find({ "category": { "$in": ["books", "electronics"] } })

⇒ Truy vấn này tìm các document có trường category là "books" hoặc "electronics".

8. $nin (not in)

Toán tử $nin dùng để tìm các document mà giá trị cần tìm không nằm trong một mảng cụ thê.

Cú pháp:

{ "field": { "$nin": [value1, value2, ...] } }

Ví dụ:

db.collection.find({ "status": { "$nin": ["inactive", "suspended"] } })

⇒ Truy vấn này tìm các document mà trường status không phải là "inactive" hoặc "suspended".

Tổng kết Toán Tử So Sánh:

  • $eq: So sánh bằng
  • $ne: So sánh không bằng
  • $gt: Lớn hơn
  • $lt: Nhỏ hơn
  • $gte: Lớn hơn hoặc bằng
  • $lte: Nhỏ hơn hoặc bằng
  • $in: Giá trị nằm trong mảng
  • $nin: Giá trị không nằm trong mảng

⇒ Các bạn có thể vào trang chính của mongodb để đọc kỹ hơn về toán tử so sánh nha

II. Toán Tử Logic

1. $and

Toán tử $and dùng để tìm document có nhiều biểu thức mà tất cả các điều kiện trong mảng đều được thỏa mãn.

Cú pháp:

{ "$and": [ { "field1": value1 }, { "field2": value2 } ] }

Ví dụ:

db.collection.find({ "$and": [ { "status": "active" }, { "age": { "$gte": 18 } } ] })

⇒ Truy vấn này tìm document có trường status là "active" và trường age lớn hơn hoặc bằng 18.

2. $or

Toán tử $or được dùng để tìm document có ít nhất một điều kiện trong mảng được thỏa mãn.

Cú pháp:

  • toán tử được phân biệt các giá trị cần tìm qua dấu “,”
{ "$or": [ { "field1": value1 }, { "field2": value2 } ] }

Ví dụ:

db.collection.find({ "$or": [ { "status": "active" }, { "age": { "$lt": 18 } } ] })

⇒ Truy vấn này tìm document nơi mà trường status là "active" hoặc trường age nhỏ hơn 18.

3. $not

Toán tử $not được dùng để tìm document nơi mà điều kiện không được thỏa mãn.Điều này bao gồm các tài liệu không chứa trường đó.

Cú pháp:

{ "field": { "$not": { "$condition": value } } }

Ví dụ:

db.collection.find({ "age": { "$not": { "$gte": 18 } } })

⇒ Truy vấn này tìm document mà trường age không bằng 18, hiểu đơn giản là sẽ tìm hết tất cả các trường tuổi trừ trường có tuổi bằng 18.

4. $nor

Toán tử $nor được dùng để tìm document mà không có điều kiện nào được thỏa mãn trong mảng được yêu cầu.

Cú pháp:

{ "$nor": [ { "field1": value1 }, { "field2": value2 } ] }

Ví dụ:

db.collection.find({ "$nor": [ { "status": "inactive" }, { "age": { "$gte": 18 } } ] })

⇒ Truy vấn này tìm các tài liệu mà trường status không phải "inactive" và trường age không lớn hơn hoặc bằng 18.

Tổng kết Toán Tử Logic:

  • $and: Tất cả các điều kiện trong mảng đều được thỏa mãn.
  • $or: Ít nhất một điều kiện trong mảng được thỏa mãn.
  • $not: Điều kiện không được thỏa mãn.
  • $nor: Không có điều kiện nào trong mảng được thỏa mãn.

⇒ Các bạn có thể vào trang chính của mongodb để đọc kỹ hơn về toán tử so sánh nha

Bình luận

Bài viết tương tự

- vừa được xem lúc

TÌM HIỂU VỀ MONGODB

. 1. Định nghĩa về MongoDB. . MongoDB là một cơ sở dữ liệu mã nguồn mở và là cơ sở dữ liệu NoSQL(*) hàng đầu, được hàng triệu người sử dụng.

0 0 43

- vừa được xem lúc

Mongo DB cho người mới bắt đầu !

Lời nói đầu. Gần đây, mình mới bắt đầu nghiên cứu và sử dụng mongo db nên có chút kiến thức cơ bản về Mongo muốn share và note ra đây coi như để nhở (Biết đâu sẽ có ích cho ai đó).

0 0 35

- vừa được xem lúc

Áp dụng kiến trúc 3 Layer Architecture vào project NodeJS

The problem encountered. Các framework nodejs phổ biết như Express cho phép chúng ta dễ dàng tạo ra Resful API xử lí các request từ phía client một cách nhanh chóng và linh hoạt.

0 0 77

- vừa được xem lúc

Mongo DB cho người mới bắt đầu ! (P2)

Lời nói đầu. Gần đây, mình mới bắt đầu nghiên cứu và sử dụng mongo db nên có chút kiến thức cơ bản về Mongo muốn share và note ra đây coi như để nhở (Biết đâu sẽ có ích cho ai đó).

0 0 181

- vừa được xem lúc

Xây dựng CRUD RESTful API sử dụng Node, Express, MongoDB.

Introduction. Trong phạm vi bài viết này chúng ta sẽ cùng tìm hiểu về cách tạo restful api với Node, Express và MongoDB. . Xử lý các hoạt động crud.

0 0 223

- vừa được xem lúc

MongoDB là gì? Cơ sở dữ liệu phi quan hệ

Bài viết này mình sẽ giúp các bạn có cái nhìn tổng quan về MongoDB. Chúng ta không lạ gì với cơ sở dữ liệu quan hệ, còn với cơ sở dữ liệu phi quan hệ thì sao? MEAN stack (MongoDB, Express, AngularJS,

0 0 52