MongoDB không có CREATE DATABASE
câu lệnh giống như SQL.
Trong MongoDB, bạn tạo cơ sở dữ liệu đơn giản bằng cách chuyển sang cơ sở dữ liệu không tồn tại, sau đó chèn dữ liệu.
Ví dụ
Dưới đây là một ví dụ về cách tạo cơ sở dữ liệu mới:
use PetHotel
Kết quả:
switched to db PetHotel
Điều đó tạo ra một cơ sở dữ liệu mới có tên là PetHotel
và biến nó thành cơ sở dữ liệu hiện tại.
Tuy nhiên, cơ sở dữ liệu chỉ được tạo một phần. Nó không được tạo đầy đủ cho đến khi bạn chèn dữ liệu.
Nếu chúng tôi chạy show dbs
để xem chúng tôi có những cơ sở dữ liệu nào, nó sẽ không được hiển thị.
show dbs
Kết quả:
admin 0.000GB config 0.000GB local 0.000GB
Đây là bộ cơ sở dữ liệu mặc định đã được cài đặt với MongoDB. Nếu bạn có các cơ sở dữ liệu khác, bạn cũng sẽ thấy chúng ở đây.
Nhưng vấn đề là, PetHotel
mới được tạo của chúng tôi cơ sở dữ liệu không có ở đâu để được nhìn thấy!
Chèn dữ liệu
Để tạo đầy đủ cơ sở dữ liệu, chúng ta cần chèn một số dữ liệu. Thậm chí chỉ cần một lượng nhỏ là đủ.
Ví dụ:
db.pets.insert({ name: "Fetch" })
Kết quả:
WriteResult({ "nInserted" : 1 })
Thông báo này cho chúng tôi biết rằng một tài liệu đã được chèn.
Bây giờ khi chúng ta chạy show dbs
một lần nữa, chúng ta có thể thấy cơ sở dữ liệu mới được tạo của mình.
show dbs
Kết quả:
PetHotel 0.000GB admin 0.000GB config 0.000GB local 0.000GB
Bộ sưu tập
Cơ sở dữ liệu chứa các bộ sưu tập. Trong trường hợp của chúng tôi, chúng tôi đã tạo một bộ sưu tập có tên là pets
.
Khi bạn chèn dữ liệu, bạn sử dụng cú pháp như sau:
db.<collection>.insert()
Ở đâu <collection>
là tên của tập hợp để chèn dữ liệu vào. Nếu bộ sưu tập không tồn tại, bộ sưu tập đó sẽ được tạo.
Trong trường hợp của chúng tôi, chúng tôi đã sử dụng lệnh sau:
db.pets.insert({ name: "Fetch" })
Bộ sưu tập này đã tạo ra một bộ sưu tập có tên là pets
(vì nó chưa tồn tại).
Kiểm tra dữ liệu
Bạn có thể sử dụng find()
phương pháp thu thập để kiểm tra dữ liệu trong bộ sưu tập.
Ví dụ:
db.pets.find()
Kết quả:
{ "_id" : ObjectId("5fe02d3937b49e0faf1af20b"), "name" : "Fetch" }
Như mong đợi, tài liệu của chúng tôi đã được trả lại.
Bạn sẽ nhận thấy rằng nó cũng có một trường bổ sung. Nó có một _id
trường mà chúng tôi không chỉ định khi chúng tôi thêm tài liệu.
_id
lĩnh vực là một lĩnh vực đặc biệt. Nó được sử dụng làm số nhận dạng cho tài liệu. Nếu tài liệu không chỉ định _id
, sau đó MongoDB sẽ thêm _id
và gán một ObjectId
duy nhất cho tài liệu trước khi chèn.
Ngoài ra, bạn có thể cung cấp _id
của riêng mình và gán cho nó giá trị của riêng bạn. Tuy nhiên, lưu ý rằng _id
giá trị phải là duy nhất trong bộ sưu tập để tránh lỗi khóa trùng lặp.