MongoDB sử dụng DATABASE_NAME được sử dụng để tạo cơ sở dữ liệu. Lệnh sẽ tạo cơ sở dữ liệu mới nếu nó chưa tồn tại, ngược lại nó sẽ trả về cơ sở dữ liệu hiện có
cú pháp
Cú pháp cơ bản của câu lệnh use DATABASE như sau -
use DATABASE_NAME
Thí dụ
Nếu bạn muốn sử dụng cơ sở dữ liệu có tên , thì hãy sử dụng câu lệnh DATABASE như sau -
>use mydb switched to db mydb
Để kiểm tra cơ sở dữ liệu hiện được chọn của bạn, hãy sử dụng lệnh db
>db mydb
Nếu bạn muốn kiểm tra danh sách cơ sở dữ liệu của mình, hãy sử dụng lệnh show dbs
>show dbs local 0.78125GB test 0.23012GB
Cơ sở dữ liệu đã tạo của bạn [mydb] không có trong danh sách. Để hiển thị cơ sở dữ liệu, bạn cần chèn ít nhất một tài liệu vào đó
>db.movie.insert[{"name":"tutorials point"}] >show dbs local 0.78125GB mydb 0.23012GB test 0.23012GB
Trong cơ sở dữ liệu mặc định của MongoDB là test. Nếu bạn không tạo bất kỳ cơ sở dữ liệu nào, thì các bộ sưu tập sẽ được lưu trữ trong cơ sở dữ liệu thử nghiệm
Phần quan trọng nhất của MongoDB tạo cơ sở dữ liệu là lệnh chèn MongoDB để chèn dữ liệu vào bộ sưu tập MongoDB. Chúng ta có thể sử dụng hai phương pháp ở đây;
Cú pháp cơ bản của lệnh chèn MongoDB như sau
db.COLLECTION_NAME.insert[document]
Trong đoạn mã trên, mycommand là tên của bộ sưu tập MongoDB của chúng tôi. Nếu bộ sưu tập không tồn tại trong cơ sở dữ liệu, thì MongoDB sẽ tự tạo bộ sưu tập và sau đó chèn tài liệu vào đó
Trong tài liệu MongoDB mà chúng ta đã chèn, nếu chúng ta không chỉ định tham số _id, thì MongoDB sẽ mặc định gán một ObjectId duy nhất cho tài liệu này.
Để tôi nói cho bạn biết về _id. Nó là một số thập lục phân 12 byte duy nhất cho mọi tài liệu trong một bộ sưu tập. 12 byte được chia như sau.
_Tôi. ObjectId [4 byte cho dấu thời gian, 3 byte cho id máy, 2 byte cho id tiến trình và 3 byte cho bộ tăng]
Hãy xem một ví dụ về mã với _id
db.mycommand.insert[{ _id: ObjectId[7df78ad8902c], title: 'MongoDB Overview', description: 'MongoDB is no sql database', by: 'Intellipaat', url: '//www.intellipaat.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 }]
Vì chúng ta đã chèn dữ liệu vào bộ sưu tập MongoDB, bây giờ chúng ta sẽ xem cách xem dữ liệu đã chèn. Để xem dữ liệu đã chèn trong cơ sở dữ liệu tạo MongoDB, chúng ta sẽ sử dụng lệnh sau
db.mycol.find[].pretty[]
Lệnh find[] sẽ cung cấp cho chúng tôi dữ liệu của chúng tôi và lệnh pretty[] được sử dụng để hiển thị kết quả theo cách được định dạng
Hơn nữa trong hướng dẫn này, chúng tôi sẽ trình bày chi tiết về lệnh find MongoDB
Làm quen với các Câu hỏi phỏng vấn MongoDB hàng đầu để bắt đầu sự nghiệp của bạn
Bây giờ, chúng ta sẽ thảo luận về khóa chính trong cơ sở dữ liệu tạo MongoDB. Trường _id hoạt động như khóa chính cho bộ sưu tập MongoDB để mỗi tài liệu có thể được xác định duy nhất trong bộ sưu tập. Theo mặc định, có một giá trị ObjectId duy nhất được liên kết với mỗi trường _id, là một số thập lục phân
Tuy nhiên, chúng ta không cần lo lắng về việc chèn khóa chính vào các truy vấn của mình vì theo mặc định, khi chèn tài liệu vào bộ sưu tập MongoDB, nếu bạn quên thêm tên trường có _id thì MongoDB sẽ tự động xử lý tình huống và thêm ObjectId
Trong đoạn mã trên, chúng tôi chưa đề cập đến trường _id, nhưng khi chúng tôi chạy mã đó, _id sẽ xuất hiện theo mặc định trong đầu ra của mã
Các lệnh MongoDB Limit và MongoDB Sort
Để sửa đổi các truy vấn, MongoDB cung cấp các công cụ sửa đổi truy vấn là các mệnh đề giới hạn[] và sắp xếp[]. Chúng cung cấp tính linh hoạt hơn khi thực hiện các truy vấn. Chúng ta sẽ xem xét các công cụ sửa đổi truy vấn này
Giới hạn MongoDB được sử dụng để giới hạn số lượng tài liệu được trả về trong tập kết quả cho một truy vấn. Dưới đây là một ví dụ cho thấy làm thế nào điều này có thể được thực hiện
________số 8Đoạn mã trên lấy hàm find trả về tất cả các tài liệu được tạo bởi MongoDB tạo cơ sở dữ liệu trong bộ sưu tập MongoDB. Tuy nhiên, mệnh đề giới hạn trong mã giới hạn số lượng tài liệu được trả về chỉ 2
Lệnh sắp xếp MongoDB được sử dụng để chỉ định thứ tự tài liệu sẽ được trả về dựa trên thứ tự tăng dần hoặc giảm dần của bất kỳ khóa nào trong bộ sưu tập MongoDB. Dưới đây là một ví dụ cho thấy làm thế nào điều này có thể được thực hiện
db.mycommand.find[].sort[{mycommandid:-1}].forEach[printjson];
Đoạn mã trên đang sử dụng chức năng sắp xếp MongoDB trả về tất cả các tài liệu trong bộ sưu tập MongoDB, nhưng sau đó nó đang sử dụng công cụ sửa đổi để thay đổi thứ tự trả về các bản ghi. Số '-1' trong đoạn mã trên cho biết rằng chúng tôi cần trả lại các tài liệu dựa trên thứ tự giảm dần của mycommandid
Hãy xem mã trực tiếp bên dưới
Tuy nhiên, có thắc mắc?
Chúng tôi sử dụng phương thức tìm MongoDB để truy vấn dữ liệu từ bộ sưu tập MongoDB
Cú pháp cơ bản của phương thức find[] như sau
>use mydb switched to db mydb0
Như chúng tôi đã đề cập trước đó, phương thức tìm MongoDB sẽ hiển thị tất cả các tài liệu theo cách không có cấu trúc
Một phương thức khác mà chúng tôi sử dụng với phương thức tìm MongoDB của mình là Phương thức pretty[]. Phương thức pretty[] được sử dụng để hiển thị kết quả theo cách đã định dạng
Cú pháp tìm kiếm bằng lệnh Pretty
Cú pháp của lệnh find[] với lệnh pretty[] như dưới đây
db.mycol.find[].pretty[]
Ngoài phương thức find[], còn có một phương thức khác, đó là phương thức findOne[] chỉ trả về một tài liệu
Để so sánh chi tiết giữa Firebase và MongoDB, hãy xem Firebase Vs MongoDB
Phương thức cập nhật MongoDB được sử dụng để cập nhật tài liệu MongoDB thành một bộ sưu tập. Phương thức cập nhật cập nhật các giá trị trong tài liệu hiện có
Cú pháp cơ bản của phương thức update[] như sau
>use mydb switched to db mydb2
Đầu tiên, chúng tôi sẽ tạo một cơ sở dữ liệu với một số chi tiết. Tiếp theo, chúng ta sẽ thay đổi tên, sau đó chúng ta sẽ sử dụng lệnh cập nhật để xem liệu cơ sở dữ liệu của chúng ta đã được cập nhật hay chưa
Sau khi tạo cơ sở dữ liệu đầu tiên của chúng tôi, chúng tôi đã nhận được đầu ra sau
Bây giờ, chúng tôi sẽ cập nhật nó với phương pháp cập nhật
Đây là dữ liệu cập nhật của chúng tôi như được đưa ra dưới đây. Chúng ta có thể thấy rằng tất cả các giá trị đã được thay đổi
Intellipaat cung cấp các Khóa học Cơ sở dữ liệu tốt nhất cho người học
MongoDB đếm và loại bỏ các lệnh
MongoDB cung cấp hàm đếm [] được sử dụng để biết số lượng tài liệu trong bộ sưu tập theo truy vấn được kích hoạt
>use mydb switched to db mydb3
Chúng ta có thể thấy rằng đầu ra là '4', tôi. e. , số lượng tài liệu trong bộ sưu tập MongoDB là 4
Để xóa tài liệu khỏi bộ sưu tập MongoDB, MongoDB sử dụng phương thức remove[]. Lệnh này xóa tất cả tài liệu khỏi bộ sưu tập hoặc chỉ những tài liệu phù hợp với một điều kiện cụ thể
Nếu chúng ta chỉ ra lệnh xóa thì tất cả tài liệu sẽ bị xóa khỏi bộ sưu tập
cú pháp
Cú pháp của phương thức remove như sau
>use mydb switched to db mydb4
Ví dụ sau minh họa cách xóa tài liệu khỏi bộ sưu tập có tên là 'trường đại học'
db.mycommand.insert[{ _id: ObjectId[7df78ad8902c], title: 'MongoDB Overview', description: 'MongoDB is no sql database', by: 'Intellipaat', url: '//www.intellipaat.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 }]0
Ví dụ dưới đây cho thấy cách chúng tôi có thể xóa một tài liệu cụ thể khỏi bộ sưu tập 'trường đại học'
db.mycommand.insert[{ _id: ObjectId[7df78ad8902c], title: 'MongoDB Overview', description: 'MongoDB is no sql database', by: 'Intellipaat', url: '//www.intellipaat.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 }]1
Đầu tiên, chúng tôi sẽ tạo một cơ sở dữ liệu có tên là 'sinh viên' với một số chi tiết
Cơ sở dữ liệu được tạo thành công. Bây giờ, chúng tôi sẽ chạy db. sinh viên. remove[{}]và xem liệu nó có xóa cơ sở dữ liệu hay không
Và ở đây chúng tôi đi. Lệnh remove đã xóa cơ sở dữ liệu khỏi cơ sở dữ liệu
Tìm hiểu thêm về NoSQL từ blog sâu sắc về NoSQL này
Khái niệm về con trỏ MongoDB
Khi chúng tôi tìm kiếm tài liệu trong bộ sưu tập bằng db. thu thập. find[], kết quả là một con trỏ tới tập tài liệu được trả về, được gọi là con trỏ
Theo mặc định, con trỏ sẽ được lặp tự động khi kết quả của truy vấn được trả về. Tuy nhiên, chúng ta cũng có thể lần lượt duyệt qua các mục được trả về trong con trỏ một cách rõ ràng
Nếu chúng ta có ba tài liệu trong bộ sưu tập của mình, đối tượng con trỏ sẽ trỏ đến tài liệu đầu tiên và sau đó lặp qua tất cả các tài liệu của bộ sưu tập
Con trỏ MongoDB có nhiều phương thức quan trọng;