Chúng tôi có một dự án mà chúng tôi cần tạo cơ sở dữ liệu giả và dữ liệu giả để thử nghiệm chức năng. Ban đầu chúng tôi bắt đầu với một kịch bản tạo ra các thực thể bằng cách sử dụng mongoose, khởi tạo chúng và lưu chúng.thiết lập dữ liệu giả trong mongodb để thử nghiệm
var StudentA = new Student();
StudentA.name = "Bob";
StudentA.surname = "Marley";
StudentA.save();
Khi ứng dụng phát triển và mối quan hệ giữa các tài liệu tăng tập lệnh này đã trở thành một mớ hỗn độn tuyệt đối. Bây giờ nó đặt ra một nút cổ chai về thời gian chúng tôi đầu tư vào phát triển ứng dụng.
Câu hỏi đặt ra là, có cách nào tốt hơn để làm điều đó không? ví dụ. một thư viện làm đầy cơ sở dữ liệu với dữ liệu theo cách có cấu trúc hơn? Hoặc chúng ta nên phân tích cú pháp một tập tin như một tập tin csv và sau đó đẩy nó vào mongo?
Câu hỏi đặt ra cho mongodb nhưng nó có thể được khái quát hóa thành bất kỳ loại cơ sở dữ liệu NO-SQL nào cần được lấp đầy với dữ liệu giả. (Nó đơn giản hơn với SQL giống như ngữ pháp cho RDBMS)
Đó là âm thanh đủ mạnh mẽ. có cách nào dễ dàng để quản lý các mối quan hệ của các tài liệu trong cách tiếp cận này? ví dụ: mỗi học sinh có một trường-id là một trường. Trong kịch bản mongoose của tôi xử lý giai đoạn tạo id này (đơn giản khi bạn tạo đối tượng) - trong phương pháp này, tôi có cần phải đặt Id theo cách thủ công cho các trường và liên kết chúng trong tài liệu json không? – ralzaul
Có, bạn sẽ phải duy trì quan hệ theo cách thủ công. Hãy nhớ rằng một '_id' không cần phải là một ObjectId. Nó có thể là bất cứ điều gì miễn là nó là duy nhất. Vì vậy, 'school.json' có thể chứa:' {_id: 1, name: "Foo"} 'và' student.json' có thể chứa '{_id:" student_1 ", school_id: 1, name:" John "}' . Hãy nhớ cố gắng nhúng tài liệu thay vì tạo "tham gia giống SQL". –
Ngoài ra, tôi sẽ sử dụng các tệp json (nhỏ) khác nhau để đảm bảo tất cả các thử nghiệm của tôi vẫn độc lập để tránh các tập dữ liệu khổng lồ. –