Tại sao tạo collection trong mongodb bằng nodejs lại có chữ "s" phía sau?
Mọi người cho mình hỏi là sao khi em tạo model bằng nodejs kết nối với mongodb. Khi chạy thì nó sẽ tạo ra collection đều có chữ "s" phía sau? Cảm ơn!
1 CÂU TRẢ LỜI
Đó là vấn đề thuộc về Naming Convention bạn ạ. Tên các Table (trong SQL) hay Collection (trong MongoDB) thường sẽ được đặt tên ở dạng số nhiều, do đó, rất nhiều framework sẽ tự động tạo ra cho bạn một bảng với tên ở dạng số nhiều theo mặc định.
Về lý do thì bạn có thể hiểu đơn giản như sau: Một bảng (hay một collection) sẽ chứa nhiều bản ghi. Chẳng hạn như collection students
sẽ chứa nhiều record, mỗi record là một student
. (Mỗi một instant được tạo ra từ Model
hay Entity
sẽ ứng với một record trong bảng, do đó tên class Model
hay Entity
sẽ ở dạng số ít, ngược lại so với tên bảng hay collection).
Điều này cũng giống như việc bạn đặt tên biến vậy, tên biến là một mảng thì bạn đặt tên là số nhiều, hay tên biến là một phần tử thì bạn đặt tên số ít thôi.
// Get All students
students = Student.all();
// Get only one student with id = 1
student = Student.find(1);