Mongoose được thiết kế theo cách mà bạn có thể lập mô hình bảng của mình một cách tương đối dễ dàng và điền dữ liệu quan hệ dựa trên ref
bạn đã xác định trong lược đồ. Điểm mấu chốt là bạn cần phải cẩn thận với việc điền. Nếu bạn nhập cư quá nhiều hoặc lồng ghép các quần thể của bạn, bạn sẽ gặp phải tình trạng thắt cổ chai về hiệu suất.
Cách tiếp cận của bạn trong Edit 1
phần lớn là chính xác tuy nhiên bạn thường không muốn điền ref
từ xa dựa trên một Number
hoặc đặt _id
của một mô hình thành một Number
vì mongo sử dụng cơ chế băm riêng của nó để quản lý _id
, đây thường sẽ là một ObjectId
với _id
bao hàm. Ví dụ như hình dưới đây:
var ScoreSchema = new mongoose.Schema({
user : { type: Schema.Types.ObjectId, ref: 'User' },
game : { type: Schema.Types.ObjectId, ref: 'Game' },
score: Number
});
Nếu vì lý do nào đó, bạn cần duy trì một id số cho hồ sơ của mình, hãy cân nhắc gọi nó là uid
hoặc thứ gì đó sẽ không xung đột với mongo / mongoose internals. Chúc bạn thành công!