1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo môn học các hệ cơ sở dữ LIỆU WEBSITE QUẢN lý NGHỈ PHÉP SINH VIÊN

34 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Các hệ cơ sở dữ liệu website quản lý nghỉ phép sinh viên
Tác giả Nguyễn Tiến Thạc, Nguyễn Hoàng Kỳ, Nguyễn Hoàng Tấn
Người hướng dẫn PGS. TS. Nguyễn Thị Thúy Loan
Trường học Trường Đại Học Công Nghệ TP. HCM
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo môn học
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 34
Dung lượng 0,9 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhóm viết báo cáo này với mục đích giúp người sử dụng bước đầu tiếp cận, có cáinhìn khái quát về các CSDL hiện đại NoSQL, hiểu chi tiết hơn về hệ cơ sở dữ liệu cơ bảncủa NoSQL là MongoDB

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

Khoa Công nghệ thông tin

BÁO CÁO MÔN HỌC CÁC HỆ CƠ SỞ DỮ LIỆU

WEBSITE QUẢN LÝ NGHỈ PHÉP SINH VIÊN

Giảng viên Giảng dạy : PGS TS Nguyễn Thị Thúy Loan

Sinh viên thực hiện :

1 Nguyễn Tiến Thạc Mssv: 2241860014

2 Nguyễn Hoàng Kỳ Mssv: 2241860005

3 Nguyễn Hoàng Tấn Mssv: 2141860035

TP Hồ Chí Minh, 2022

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

Khoa Công nghệ thông tin

BÁO CÁO MÔN HỌC CÁC HỆ CƠ SỞ DỮ LIỆU

WEBSITE QUẢN LÝ NGHỈ PHÉP SINH VIÊN

Giảng viên Giảng dạy : PGS TS Nguyễn Thị Thúy Loan

Sinh viên thực hiện :

1 Nguyễn Tiến Thạc Mssv: 2241860014

2 Nguyễn Hoàng Kỳ Mssv: 2241860005

3 Nguyễn Hoàng Tấn Mssv: 2141860035

TP Hồ Chí Minh, 2022

Trang 3

KHOA CÔNG NGHỆ THÔNG TIN

LỜI CẢM ƠN

Đầu tiên, nhóm em xin gửi lời cảm ơn đến Trường Đại học Công nghệ TP.HCM đãđưa bộ môn Các hệ cơ sở dữ liệu vào chương trình giảng dạy Cao học Đặc biệt, em xinchân thành cảm ơn giảng viên bộ môn – Cô Nguyễn Thị Thúy Loan Cô là người đã tậntình Chia sẻ và truyền đạt những kiến thức quý báu cho nhóm trong suốt học kỳ vừa qua.Trong thời gian tham dự lớp học của Cô, nhóm đã được tiếp cận với nhiều kiến thức bổích và rất cần thiết cho quá trình học tập, làm việc sau này của nhóm

Bộ môn Các hệ cơ sở dữ liệu là một môn học thú vị và vô cùng bổ ích Tuy nhiên,những kiến thức và kỹ năng về môn học này của nhóm vẫn còn nhiều hạn chế Do đó, bàibáo cáo của em khó tránh khỏi những sai sót Kính mong Cô xem xét và góp ý giúp bàibáo cáo của nhóm để được hoàn thiện hơn

Nhóm xin chân thành cảm ơn!

Trang 4

KHOA CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh phúc

-NHẬN XÉT CỦA GIẢNG VIÊN GIẢNG DẠY I Thông tin nhóm 1 Nhóm: 02 2 Thành viên: 1) Nguyễn Tiến Thạc – 2241860014 2) Nguyễn Hoàng Kỳ – 224186005 3) Nguyễn Hoàng Tấn – 2141860035 II Nhận xét chung:

III Chấm điểm:

Điểm của bài báo cáo

Tp Hồ Chí Minh, ngày 14 tháng 09 năm 2022

Giảng viên giảng dạy

(Ký, ghi rõ họ tên)

Trang 5

LỜI CẢM ƠN i

NHẬN XÉT CỦA GIẢNG VIÊN GIẢNG DẠY ii

DANH MỤC TỪ VIẾT TẮT v

DANH MỤC CÁC BẢNG BIỂU, SƠ ĐỒ, HÌNH ẢNH vi

LỜI MỞ ĐẦU 1

CHƯƠNG 1 GIỚI THIỆU VỀ NOSQL 2

1.1 NoSQL là gì? 2

1.1.1 Thuật ngữ 2

1.1.2 Lịch sử 2

1.2 Đặc điểm của NoSQL 2

1.3 Các dạng NoSQL cơ bản 3

1.3.1 Key – value data stores 3

1.3.2 Column-based – Tabular 3

1.3.3 Document-based 3

1.3.4 Graph-based data-stores 3

CHƯƠNG 2 TỔNG QUAN VỀ MONGODB 4

2.1 MongoDB là gì? 4

2.2 Kiến trúc về MongoDB 4

2.3 Mục đích và đối tượng 4

2.3.1 Tại sao nên sử dụng MongoDB? 4

2.3.2 Nên sử dụng MongoDB khi nảo? 5

2.4 Chỉ mục (Index) 5

2.4.1 Khái niệm về chỉ mục (Index) 5

2.4.2 Chỉ mục trong MongoDB 5

2.5 Ưu và khuyết điểm của MongoDB 9

2.5.1 Ưu điểm 9

2.5.2 Khuyết điểm 11

Trang 6

2.6 So sánh giữa MongoDB với RDBMS 11

2.6.1 So sánh tổng quan giữa MySQL và MongoDB 11

2.6.2 Một số thuật ngữ và khái niệm 12

2.6.3 So sánh tính năng 12

2.6.4 So sánh ngôn ngữ truy vấn 13

2.6.5 So sánh ưu và khuyết điểm 13

2.7 Hướng dẫn cài đặt và sử dụng MongDB 13

2.7.1 Download MongoDB 13

2.7.2 Cài đặt MongoDB 14

2.7.3 Tạo biến môi trường cho MongoDB 17

CHƯƠNG 3 KẾT QUẢ THỰC NGHIỆM 20

3.1 Kết quả đạt được 20

3.2 Một số hình ảnh giao diện website 20

3.2.1 Giao diện đăng ký tài khoản 20

3.2.2 Giao diện đăng nhập 20

3.2.3 Giao diện trang chủ 21

3.2.4 Giao diện trang thông tin cá nhân 21

3.2.5 Giao diện chỉnh sửa thông tin cá nhân 22

3.2.6 Giao diện xử lý đơn xin nghỉ phép 22

3.2.7 Giao diện danh sách đơn xin nghỉ phép 23

CHƯƠNG 4 KẾT LUẬN 24

TÀI LIỆU THAM KHẢO 25

Trang 7

DANH MỤC TỪ VIẾT TẮTSTT Ký hiệu viết tắt Chữ viết đầy đủ

1 RDBMS Relational Database Management System

2 NoSQL Not Only SQL

3 CSDL Cơ sở dữ liệu

4 DB Database

5 GPL General Public License

6 AGPL Affero General Public License

7 JSON JavaScript Object Notation

8 HA High Availability

9 DBAs Database Administrators

Trang 8

DANH MỤC CÁC BẢNG BI

Y

Bảng 2.1 So sánh tổng quan MySQL và MongoDB 11

Bảng 2.2 Một số thuật ngữ và khái niệm về MySQL và MongoDB 12

Bảng 2.3 So sánh tính năng giữa MySQL và MongoDB 12

Bảng 2.4 So sánh ngôn ngữ truy vấn của MySQL và MongoDB 13

Bảng 2.5 So sánh ưu, khuyết điểm của MySQL và MongoDB 13

Trang 9

DANH MỤC CÁC HÌNH ẢNH

Hình 2.1 mô tả cấu trúc chỉ mục hỗn hợp các khóa 6

Hình 2.2 So sánh hiệu suất hoạt động của MongoDB và SQL Server 2008 (tốc độ insert)9 Hình 2.3 Minh họa khả năng mở rộng của MongoDB 10

Hình 2.4 Download MongoDB 13

Hình 2.5 Cài đặt MongoDB với file đã download 14

Hình 2.6 Cài đặt MongoDB 14

Hình 2.7 Setup cài đặt MongoDB 14

Hình 2.8 Chọn kiểu thiết lập MongoDB 15

Hình 2.9 Chọn nơi lưu data và log MongoDB 15

Hình 2.10 Install MongoDB Compass 15

Hình 2.11 Bắt đầu Install MongoDB 16

Hình 2.12 Kết thúc cài Install MongoDB 16

Hình 2.13 Nơi lưu trữ MongoDB sau khi cài đặt 16

Hình 2.14 Vào properites của máy tính 17

Hình 2.15 Vào Advanced system settings 17

Hình 2.16 Vào Enviroment Variables 18

Hình 2.17 Thêm thư mục bin của MongoDB vào path 18

Hình 2.18 Hoàn tất thêm thư mục bin vào path 19

Hình 2.19 Kết quả chạy thử MongoDB bằng cmd 19

Trang 10

LỜI MỞ ĐẦU

Với sự phát triển không ngừng của ngành công nghê — thông tin Khối dữ liệu cần xử

lý trong các ứng dụng là rất lớn Đă —c biê —t là sự bùng nổ công nghê — Web 2.0, nơi các mạngdịch vụ dữ liệu cộng đồng cho phép người dùng tự do tạo nội dung trên web, dẫn đến dữliệu tăng lên rất nhanh, vượt qua giới hạn xử lý của các Hệ quản trị cơ sở dữ liệu quan hệtruyền thống Để đáp ứng được nhu cầu phát triển của xã hội, đòi hỏi một cơ sở dữ liệu(CSDL) có thể lưu trữ, xử lý được một lượng dữ liệu lớn một cách nhanh chóng và hiệuquả NoSQL đã ra đời, thay thế hệ quản trị CSDL quan hệ, giải quyết bài toán trên Nhóm viết báo cáo này với mục đích giúp người sử dụng bước đầu tiếp cận, có cáinhìn khái quát về các CSDL hiện đại NoSQL, hiểu chi tiết hơn về hệ cơ sở dữ liệu cơ bảncủa NoSQL là MongoDB và đồng thời giúp người đọc có thể thực hiện một ứng dụng cơbản trên hệ cơ sở dữ liệu MongoDB

Trang 11

CHƯƠNG 1 GIỚI THIỆU VỀ NOSQL

1.1 NoSQL là gì? [5]

1.1.1 Thuật ngữ

NoSQL có nghĩa là Non-Relational (NoRel) - không ràng buộc Tuy nhiên, thuật

ngữ đó ít phổ dụng hơn và ngày nay người ta thường dịch NoSQL thành Not Only SQL

-Không chỉ là SQL.

Đây là thuật ngữ chung cho các hệ CSDL không sử dụng mô hình dữ liệu quan hệ.NoSQL đặc biệt nhấn mạnh đến mô hình lưu trữ cặp giá trị - khóa và hệ thống lưu trữphân tán

1.1.2 Lịch sử

Thuật ngữ NoSQL được giới thiệu lần đầu vào năm 1998 sử dụng làm tên gọi chungcho các lightweight open source relational database (cơ sở dữ liệu quan hệ nguồn mởnhỏ) nhưng không sử dụng SQL cho truy vấn

Vào năm 2009, Eric Evans, nhân viên của Rackspace giới thiệu lại thuật ngữNoSQL khi Johan Oskarsson của Last.fm muốn tổ chức một hội thảo về cơ sở dữ liệunguồn mở phân tán Thuật ngữ NoSQL đánh dấu bước phát triển của thế hệ CSDL mới:phân tán (distributed) + không ràng buộc (non-relational)

NoSQL storage đặc biệt phổ dụng trong thời kỳ Web 2.0 bùng nổ, nơi các mạngdịch vụ dữ liệu cộng đồng cho phép người dùng tạo hàng tỷ nội dung trên web Do đó, dữliệu lớn rất nhanh vượt qua giới hạn phần cứng cần phải giải quyết bằng bài toán phântán

1.2 Đặc điểm của NoSQL [5]

 NoSQL lưu trữ dữ liệu của mình theo dạng cặp giá trị “key – value” Sử dụng sốlượng lớn các node để lưu trữ thông tin

 Mô hình phân tán dưới sự kiểm soát phần mềm

 Chấp nhận dữ liệu bị trùng lặp do một số node sẽ lưu cùng thông tin giống nhau

 Một truy vấn sẽ được gửi tới nhiều máy cùng lúc, do đó khi một máy nào đókhông phục vụ được sẽ không ảnh hưởng lắm đến chất lượng trả về kết quả

 Phi quan hệ – không có ràng buộc nào cho việc nhất quán dữ liệu

 Tính nhất quán không theo thời gian thực: Sau mỗi thay đổi CSDL, không cần tácđộng ngay đến tất cả các CSDL liên quan mà được lan truyền theo thời gian

1.3 Các dạng NoSQL cơ bản [5]

Trang 12

1.3.1 Key – value data stores

Dữ liệu lưu dưới dạng cặp key – value Giá trị được truy xuất thông qua key

 Ví dụ : Redis, Dynomite, MemcacheDB.

 Thường sử dụng cho: Content caching Applications.

 Ưu điểm: Tìm kiếm rất nhanh.

 Nhược điểm: Lưu dữ liệu không theo khuôn dạng (schema) nhất định.

1.3.2 Column-based – Tabular

Cơ sở dữ liệu tổ chức dưới dạng các bảng Gần giống với mô hình RDBMS Tuynhiên, Chúng lưu dữ liệu bởi các cột chứ không phải bằng các dòng Nó khá thích hợpvới để hiển thị bằng các phần mềm quản lý kho dữ liệu

 Ví dụ : Apache Hbase, Apache Cassandra, Hypertable.

 Thường sử dụng cho: các hệ phân tán file.

 Ưu điểm: Tìm kiếm nhanh, Phân tán dữ liệu tốt.

 Nhược điểm: Hỗ trợ được với rất ít phần mềm.

1.3.3 Document-based

Dữ liệu (bán cấu trúc hay semi-structured) được lưu trữ và tổ chức dưới dạng mộttập hợp các document Các document này linh hoạt, mỗi document có một tập nhiềutrường

 Ví dụ: Apache CouchDB và MongoDB.

 Thường sử dụng cho: Web applications.

 Ưu điểm: Dùng khi dữ liệu nguồn không được mô tả đầy đủ.

 Nhược điểm: Hiệu năng truy vấn, Không có cú pháp chuẩn cho câu truy vấn dữ

liệu

1.3.4 Graph-based data-stores

Những CSDL này áp dụng lý thuyết đồ thị trong khoa học máy tính để lưu trữ vàtruy xuất dữ liệu Chúng tập trung vào tính rời rạc giữa các phần dữ liệu Các phần tử đơn

vị dữ liệu được biểu thị như một nút và liên kết với các thành phần khác bằng các cạnh

 Ví dụ : Neo4j, InfiniteGraph, DEX.

 Thường cho: Social networking, Hệ trợ giúp.

 Ưu điểm: Ứng dụng các thuật toán trên đồ thị như Đường đi ngắn nhất, liên

thông

 Nhược điểm: Phải duyệt nội bộ đồ thị, để trả lời lại các truy vấn Không dễ để

phân tán

Trang 13

CHƯƠNG 2 TỔNG QUAN VỀ MONGODB

2.1 MongoDB là gì? [6]

Hiểu một cách nôm na thì MongoDB là một mã nguồn mở và là một tập tàiliệu dùng cơ chế NoSQL để truy vấn, nó được viết bởi ngôn ngữ C++ Chính vì được viếtbởi C++ nên nó có khả năng tính toán với tốc độ cao chứ không giống như các hệ quảntrị CSDL hiện nay

Nếu như bạn biết sử dụng JSON thì trong MongoDB cũng có cấu trúc lưu trữ tương

tự, chính vì thế nó có hiệu suất cao, tương tác nhanh và khả năng mở rộng tốt, nó hoạtđộng trên khái niệm collectiondocument Tới đây thì có lẽ bạn sẽ thắc mắc collection

là gì? và document là gì? phải không nào? Nếu vậy thì ta sẽ tìm hiểu các phần tiếp theonhé

2.2 Kiến trúc về MongoDB [3]

Document trong MongoDB: có cấu trúc tương tự như kiểu dữ liệu JSON, nghĩa là

sẽ có các cặp (key => giá trị) nên nó có tính năng động rất lớn Document ta có thể hiểu

nó giống như các record dữ liệu trong MYSQL, tuy nhiên nó có sự khác biệt là các cặp(key => value) có thể không giống nhau ở mỗi document

Collection trong MongoDB: là nhóm các tài liệu (document), nó tương đương với

một bảng (table) trong CSDL thông thường nên mỗi collection sẽ thuộc về một databaseduy nhất Tuy nhiên nó có một sực khác biệt đó là nó không có ràng buộc Relationshipnhư các hệ quản trị CSDL khác nên việc truy xuất rất nhanh, chính vì thế mỗi collection

có thể chứa nhiều thể loại khác nhau không giống như table trong hệ quản trị mysql làcác field cố định

Database: là một Ô chứa dữ liệu ở mức vật lý (physical), mỗi database sẽ có nhiều

collection và được thiết lập lưu trữ ở một nơi trong máy chủ máy tính Một máy chủMongoDB thường có thể tạo nhiều cơ sở dữ liệu

Primary Key: Mặc định primary key trong MongoDB là field _id, lúc insert nếu

bạn không chỉ rõ trường _id thì nó sẽ tự động generate giá trị cho _id

2.3 Mục đích và đối tượng

2.3.1 Tại sao nên sử dụng MongoDB? [7]

 Kho lưu định hướng Document: Dữ liệu được lưu trong các tài liệu kiểu JSON

 Lập chỉ mục trên bất kỳ thuộc tính nào

 Replication và tính khả dụng cao

Trang 14

 Tự động Shard.

 Các truy vấn đa dạng

 Cập nhật nhanh hơn

 Sự hỗ trợ chuyên nghiệp bởi MongoDB

2.3.2 Nên sử dụng MongoDB khi nảo? [3]

MongoDB thật sự rất hot nhưng không phải lúc nào sử dụng nó cũng tốt, có nhữngtrường hợp không nên sử dụng và nên sử dụng Chúng ta chỉ nên dùng MongoDB ở một

số trường hợp sau:

 Nếu website của bạn có tính chất INSERT cao, bởi vì mặc định MongoDB có sẵn

cơ chế ghi với tốc độ cao và an toàn

 Website của bạn ở dạng thời gian thực nhiều, nghĩa là nhiều người thao tác vớiứng dung Nếu trong quá trình load bị lỗi tại một điểm nào đó thì nó sẽ bỏ quaphần đó nên sẽ an toàn

 Website bạn có nhiều dữ liệu quá, giả sử web bạn có đến 10 triệu records thì đó làcơn ác mộng với MYSQL Bởi vì MongoDB có khả năng tìm kiếm thông tin liênquan cũng khá nhanh nên trường hợp này nên dùng nó

 Máy chủ không có hệ quản trị CSDL, trường hợp này thường bạn sẽ sử dụngSQLITE hoặc là MongoDB

2.4 Chỉ mục (Index) [1]

2.4.1 Khái niệm về chỉ mục (Index)

Chỉ mục là một cấu trúc dữ liệu được lưu trữ trên ổ cứng tương ứng với một tablehoặc view nhằm mục đích tăng tốc độ việc truy xuất dữ liệu từ table hoặc view đó

2.4.2 Chỉ mục trong MongoDB

a) Chỉ mục đơn

 Chỉ mục là một cấu trúc dữ liệu, thu thập thông tin về giá trị của các trường trongcác văn bản của một bộ sưu tập Cấu trúc dữ liệu này được sử dụng trong tối ưutruy vấn MongoDB để xắp sếp nhanh các văn bản trong một bộ sưu tập

Chúng ta có thể khởi tạo chỉ mục bằng cách gọi hàm createIndex() và cung cấp

một văn bản với một hoặc nhiều khóa để đánh chỉ mục

Ví dụ: đánh chỉ mục cho trường “name” trong “user”

Trang 15

Hàm createIndex() chỉ khởi tạo chỉ mục nếu nó chưa tồn tại, Để kiểm tra việc tồn

tại chỉ mục trên collection user hay chưa, ta có thể sử dụng hàm

db.user.getIndexes()

Chỉ mục mặc định: Một chỉ mục luôn được tạo ra là _id Chỉ mục này đặc biệt là

không thể bị xóa, chỉ mục _id là duy nhất cho các khóa của nó

Các khóa nhúng: Với MongoDB chúng ta thậm chí có thể đánh chỉ mục trên các

khóa bên trong văn bản nhúng

 Trong collection user có cấu trúc như:

{

_id: ObjectId( ),

name: "Vo Van Do",

address: {

city: "Nam Tu Liem",

state: "Ha noi"

Trang 16

Sử dụng phương thức của MongoDB để đánh chỉ mục các khóa một cách dễ dàng như sau:

db.collection.createIndex()

or

db.coll.createIndex( { <field>: < 1 or -1 > } )

Ví dụ: đánh chỉ mục hỗn hợp khóa trong bảng “user” có thể viết như sau:

db.user.createIndex( { "name": 1, "address.city": -1 } )

 Khi khởi tạo một chỉ mục, số đi cùng với khóa là hướng của chỉ mục (index) Nếu

là 1 thì tăng dần; Nếu là -1 thì giảm dần Hướng không ảnh hưởng đến truy cậpngẫu nhiên nhưng rất quan trọng nếu đang làm các truy vấn sắp xếp hoặc phân loạitrên chỉ mục hỗn hợp

 Nếu có một chỉ mục hỗn hợp trên nhiều trường thì có thể sử dụng nó để truy vấntrên các tập hợp con đầu của các trường đó

Ví dụ: ta có chỉ mục trên (a, b, c) , ta có thể sử dụng nó để truy vấn trên (a), (a, b) và (a,

b, c).

c) Chỉ mục thưa thớt

 Chỉ mục thưa thớt là chỉ mục mà chỉ bao gồm các văn bản có trường được đánhchỉ mục (index) Bất kể văn bản nào bị thiếu trường đánh chỉ mục thưa thớt đềukhông được lưu vào trong chỉ mục

 Các chỉ mục thưa thớt vì bị thiếu những văn bản không có giá trị của trường đượcđánh chỉ mục

 Chỉ mục thưa thớt theo định nghĩa là không đầy đủ và hoạt động khác với chỉ mụcđầy đủ Khi sử dụng chỉ mục thưa thớt để sắp xếp một vài văn bản trong bộ sưutập sẽ không được trả về Chỉ những văn bản được đánh chỉ mục mới được trả về

Xét ví dụ sau:

{ "_id" : ObjectId(" "), "userid" : "1" }

{ "_id" : ObjectId(" "), "userid" : "2", "score" : 10 }

{ "_id" : ObjectId(" "), "userid" : "3", "score" : 2 }

 Chúng ta đánh chỉ mục bằng câu lệnh sau:

db.user.createIndex( { score: 10 } , { sparse: true } )

Trang 17

db.scores.find( { score: { $lt: 2 } } )

 Nhưng kết quả trả về sẽ là:

{ "_id" : ObjectId(" "), "userid" : "abby", "score" : 10 }

Do đã đánh chỉ mục với bản ghi này

d) Chỉ mục duy nhất

 MongoDB hỗ trợ đánh chỉ mục duy nhất, đảm bảo rằng không có văn bản nàođược chèm mà giá trị của khóa được đánh chỉ mục lại trùng với văn bản mà đã tồntại

 Để tạo ra một chỉ mục đảm bảo rằng không có 2 văn bản có cùng giá trị trongtrường “name”“address” thực hiện bằng hàm sau:

db.things.createIndex({name: 1, address: 1}, {unique: true});

Khóa bị thiếu: Khi một văn bản được lưu vào collection việc đánh chỉ mục duy

nhất hay bất kì khóa được đánh chỉ mục nào bị thiếu sẽ được chèn vào với giátrị null Vì vậy không được chèn quá nhiều văn bản bị thiếu cùng một khóa đượcđánh chỉ mục

db.user.createIndex({name: 1}, {unique: true});

Giá trị lập lại: Chỉ mục duy nhất không cho phép một khóa có giá trị nhân bản,

nếu muốn đánh chỉ mục bằng mọi giá thì phải giữ văn bản đầu tiên trong CSDL vàxóa tất cả các văn bản có giá trị nhân bản, thêm tuỳ chọn dropDups

db.user.createIndex( {name : 1}, {unique : true, dropDups : true} )

Ngày đăng: 21/12/2022, 09:48

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w