// Clean up any existing collections to prevent duplication errors on rerun
db.AUTHOR.drop();
db.BOOK.drop();
db.BOOKAUTHOR.drop();
db.MEMBER.drop();
db.BORROWEDBOOKS.drop();

// Create collections
db.createCollection("AUTHOR");
db.createCollection("BOOK");
db.createCollection("BOOKAUTHOR");
db.createCollection("MEMBER");
db.createCollection("BORROWEDBOOKS");

// Insert into AUTHOR
db.AUTHOR.insertMany([
  { authorID: 1, firstName: "George", lastName: "Orwell" },
  { authorID: 2, firstName: "Jane", lastName: "Austen" }
]);

// Insert into BOOK
db.BOOK.insertMany([
  { ISBN: "978-0451524935", title: "1984", publicationYear: 1949, availableType: "in store", quantityInStock: 5 },
  { ISBN: "978-0141439518", title: "Pride and Prejudice", publicationYear: 1813, availableType: "online", quantityInStock: 10 }
]);

// Insert into BOOKAUTHOR
db.BOOKAUTHOR.insertMany([
  { ISBN: "978-0451524935", authorID: 1 },
  { ISBN: "978-0141439518", authorID: 2 }
]);

// Insert into MEMBER
db.MEMBER.insertMany([
  { memberID: 101, firstName: "John", lastName: "Doe", email: "john.doe@email.com", phoneNo: "+27821234567" },
  { memberID: 102, firstName: "Sarah", lastName: "Connor", email: "sarah.c@email.com", phoneNo: "+27837654321" }
]);

// Insert into BORROWEDBOOKS
db.BORROWEDBOOKS.insertMany([
  { 
    ISBN: "978-0451524935", 
    memberID: 101, 
    dateBorrowed: new Date("2026-06-01"), 
    dueDate: new Date("2026-06-15"), 
    returnDate: null, 
    fineAmount: 0.00 
  },
  { 
    ISBN: "978-0141439518", 
    memberID: 102, 
    dateBorrowed: new Date("2026-05-10"), 
    dueDate: new Date("2026-05-24"), 
    returnDate: new Date("2026-05-25"), 
    fineAmount: 15.50 
  }
]);

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: