seed the mongo data

This commit is contained in:
2026-06-03 11:17:43 -06:00
parent 80485c2169
commit 1dbc0a42d9
7 changed files with 614 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
[
{
"genre_id": 1,
"genre_name": "Comedy"
},
{
"genre_id": 2,
"genre_name": "Drama"
},
{
"genre_id": 3,
"genre_name": "Western"
},
{
"genre_id": 4,
"genre_name": "Fantasy"
},
{
"genre_id": 5,
"genre_name": "Thriller"
},
{
"genre_id": 6,
"genre_name": "Sci-Fi"
},
{
"genre_id": 7,
"genre_name": "Action"
},
{
"genre_id": 8,
"genre_name": "Mystery"
},
{
"genre_id": 9,
"genre_name": "Crime"
}
]
+35
View File
@@ -0,0 +1,35 @@
const { MongoClient } = require('mongodb');
const fs = require('fs');
const url = 'mongodb://root:root@localhost:27017/?authSource=admin';
const dbName = 'magic-stream-movies';
async function importJson(collectionName, jsonFilePath) {
const client = new MongoClient(url);
try {
await client.connect();
console.log('Connected to MongoDB successfully.');
const db = client.db(dbName);
const collection = db.collection(collectionName);
const rawData = fs.readFileSync(jsonFilePath, 'utf-8');
const jsonData = JSON.parse(rawData);
const documents = Array.isArray(jsonData) ? jsonData : [jsonData];
const result = await collection.insertMany(documents);
console.log(`${result.insertedCount} documents successfully imported!`);
} catch (error) {
console.error('An error occurred during the import:', error);
} finally {
await client.close();
}
}
importJson('users', './users.json');
importJson('genres', './genres.json');
importJson('rankings', './rankings.json');
importJson('movies', './movies.json');
+297
View File
@@ -0,0 +1,297 @@
[
{
"imdb_id": "tt0111161",
"title": "The Shawshank Redemption",
"poster_path": "https://image.tmdb.org/t/p/w300/2GgerXCbCMgvt2kLwWEmJWCSG65.jpg",
"youtube_id": "PLl99DlL6b4",
"genre": [
{
"genre_id": 2,
"genre_name": "Drama"
}
],
"admin_review": "I loved the acting in this movie. It was absolutely sublime!",
"ranking": {
"ranking_value": 1,
"ranking_name": "Excellent"
}
},
{
"imdb_id": "tt7131622",
"title": "Once upon a time in Hollywood",
"poster_path": "https://image.tmdb.org/t/p/w300/wQKeS2JrsRF8XSfd9zqflrc5gad.jpg",
"youtube_id": "ELeMaP8EPAA",
"genre": [
{
"genre_id": 2,
"genre_name": "Drama"
},
{
"genre_id": 1,
"genre_name": "Comedy"
}
],
"admin_review": "This movie is awful.",
"ranking": {
"ranking_name": "Terrible",
"ranking_value": 5
}
},
{
"imdb_id": "tt0080339",
"title": "Airplane!",
"poster_path": "https://image.tmdb.org/t/p/w300/zOiB3p2WTTiwCFgTMnXuDGgzbTN.jpg",
"youtube_id": "07pPmCfKi3U",
"genre": [
{
"genre_id": 1,
"genre_name": "Comedy"
}
],
"admin_review": "I didn't love this movie but I didn't hate it either.",
"ranking": {
"ranking_value": 3,
"ranking_name": "Okay"
}
},
{
"imdb_id": "tt1119646",
"title": "The Hangover",
"poster_path": "https://image.tmdb.org/t/p/w300/c15rH9S5JN83UXqu9iM4TQsW6Rl.jpg",
"youtube_id": "jj6wcUes1no",
"genre": [
{
"genre_id": 1,
"genre_name": "Comedy"
}
],
"admin_review": "I didn't love this movie but I didn't hate it either.",
"ranking": {
"ranking_value": 3,
"ranking_name": "Okay"
}
},
{
"imdb_id": "tt0109040",
"title": "Ace Ventura: Pet Detective",
"poster_path": "https://image.tmdb.org/t/p/w300/dukxJWd72ffNWfqfFSVFFuym4RG.jpg",
"youtube_id": "qjBb1CKLpzE",
"genre": [
{
"genre_id": 1,
"genre_name": "Comedy"
}
],
"admin_review": "This is really not so great.",
"ranking": {
"ranking_value": 4,
"ranking_name": "Bad"
}
},
{
"imdb_id": "tt0105695",
"title": "Unforgiven",
"poster_path": "https://image.tmdb.org/t/p/w300/7W0CsZBe5fkX29DvHBi5Ct1WqLe.jpg",
"youtube_id": "6_UlfsdGiEc",
"genre": [
{
"genre_id": 2,
"genre_name": "Drama"
},
{
"genre_id": 3,
"genre_name": "Western"
}
],
"admin_review": "I hate this movie",
"ranking": {
"ranking_value": 5,
"ranking_name": "Terrible\n"
}
},
{
"imdb_id": "tt0060196",
"title": "The Good, The Bad, and the Ugly",
"poster_path": "https://image.tmdb.org/t/p/w300/e881nA7p982CHL5GjI1LICwHMd7.jpg",
"youtube_id": "WCN5JJY_wiA",
"genre": [
{
"genre_id": 3,
"genre_name": "Western"
}
],
"admin_review": "I did not like this!",
"ranking": {
"ranking_value": 4,
"ranking_name": "Bad"
}
},
{
"imdb_id": "tt0903624",
"title": "The Hobbit: An Unexpected Journey",
"poster_path": "https://image.tmdb.org/t/p/w300/vdAGcr1F6wJPRryeODVAcy2mU4z.jpg",
"youtube_id": "9PSXjr1gbjc",
"genre": [
{
"genre_id": 4,
"genre_name": "Fantasy"
}
],
"admin_review": "The movie was aweful! I really hated it.",
"ranking": {
"ranking_value": 5,
"ranking_name": "Terrible"
}
},
{
"imdb_id": "tt0241527",
"title": "Harry Potter and the Philosopher's Stone",
"poster_path": "https://image.tmdb.org/t/p/w300/e6JYlushXIXK85JGfDHEFHrrNYK.jpg",
"youtube_id": "VyHV0BRtdxo",
"genre": [
{
"genre_id": 4,
"genre_name": "Fantasy"
}
],
"admin_review": "This movie wasn't great but it wasn't bad either.",
"ranking": {
"ranking_value": 3,
"ranking_name": "Okay"
}
},
{
"imdb_id": "tt2267998",
"title": "Gone Girl",
"poster_path": "https://image.tmdb.org/t/p/w300/xpA0q0DJWKe7AY63pVPZbGLwuo5.jpg",
"youtube_id": "2-_-1nJf8Vg",
"genre": [
{
"genre_id": 2,
"genre_name": "Drama"
},
{
"genre_id": 4,
"genre_name": "Fantasy"
}
],
"admin_review": "An okay but dark movie.",
"ranking": {
"ranking_value": 3,
"ranking_name": "Okay"
}
},
{
"imdb_id": "tt8946378",
"title": "Knives Out",
"poster_path": "https://image.tmdb.org/t/p/w300/hVcCOlHU0HmGBBQNmS9RlalBXGz.jpg",
"youtube_id": "qGqiHJTsRkQ",
"genre": [
{
"genre_id": 2,
"genre_name": "Drama"
},
{
"genre_id": 5,
"genre_name": "Thriller"
},
{
"genre_id": 8,
"genre_name": "Mystery"
}
],
"admin_review": "The story was fantastic and the acting was sublime!",
"ranking": {
"ranking_value": 1,
"ranking_name": "Excellent"
}
},
{
"imdb_id": "tt0080684",
"title": "Star Wars: The Empire Strikes Back",
"poster_path": "https://image.tmdb.org/t/p/w300/1mh82R1qLKwdutQVGnpHItdwPCP.jpg",
"youtube_id": "JNwNXF9Y6kY",
"genre": [
{
"genre_id": 6,
"genre_name": "Sci-Fi"
},
{
"genre_id": 4,
"genre_name": "Fantasy"
}
],
"admin_review": "This is okay!",
"ranking": {
"ranking_name": "Okay",
"ranking_value": 3
}
},
{
"imdb_id": "tt0102975",
"title": "Star Trek: The Undiscovered Country",
"poster_path": "https://image.tmdb.org/t/p/w300/jukY1tFpuXgqrJLl1PvdOMarCvN.jpg",
"youtube_id": "RYA2q2Sm_Jo",
"genre": [
{
"genre_id": 6,
"genre_name": "Sci-Fi"
},
{
"genre_id": 7,
"genre_name": "Action"
}
],
"admin_review": "It wasn't good but it wasn't too bad either.",
"ranking": {
"ranking_value": 3,
"ranking_name": "Okay"
}
},
{
"imdb_id": "tt1297919",
"title": "Blitz",
"poster_path": "https://image.tmdb.org/t/p/w300/tI4fPu0LZ0FNdZdi6fvYGCRiuQs.jpg",
"youtube_id": "mhO2WJ3MNRI",
"genre": [
{
"genre_id": 9,
"genre_name": "Crime"
},
{
"genre_id": 7,
"genre_name": "Action"
},
{
"genre_id": 5,
"genre_name": "Thriller"
}
],
"admin_review": "This was a lovely movie!",
"ranking": {
"ranking_value": 1,
"ranking_name": "Excellent"
}
},
{
"imdb_id": "tt0790724",
"title": "Jack Reacher",
"poster_path": "https://image.tmdb.org/t/p/w300/8sih1uieUopA9zrEO1meNhmm7aO.jpg",
"youtube_id": "A7FiWkyevqY",
"genre": [
{
"genre_id": 7,
"genre_name": "Action"
},
{
"genre_id": 5,
"genre_name": "Thriller"
}
],
"admin_review": "This might be the worst movie that I have ever seen in my life!",
"ranking": {
"ranking_value": 5,
"ranking_name": "Terrible"
}
}
]
+5
View File
@@ -0,0 +1,5 @@
{
"dependencies": {
"mongodb": "^7.2.0"
}
}
+125
View File
@@ -0,0 +1,125 @@
lockfileVersion: '9.0'
settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
importers:
.:
dependencies:
mongodb:
specifier: ^7.2.0
version: 7.2.0
packages:
'@mongodb-js/saslprep@1.4.11':
resolution: {integrity: sha512-o9rAHc0IpIjuPSxRutWpE1F62x7n+4mVS4rCNHkzhIUMQcc18bb6xEq5wd2NdN0WjepIyXIppRshYI2kQDOZVA==}
'@types/webidl-conversions@7.0.3':
resolution: {integrity: sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==}
'@types/whatwg-url@13.0.0':
resolution: {integrity: sha512-N8WXpbE6Wgri7KUSvrmQcqrMllKZ9uxkYWMt+mCSGwNc0Hsw9VQTW7ApqI4XNrx6/SaM2QQJCzMPDEXE058s+Q==}
bson@7.2.0:
resolution: {integrity: sha512-YCEo7KjMlbNlyHhz7zAZNDpIpQbd+wOEHJYezv0nMYTn4x31eIUM2yomNNubclAt63dObUzKHWsBLJ9QcZNSnQ==}
engines: {node: '>=20.19.0'}
memory-pager@1.5.0:
resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==}
mongodb-connection-string-url@7.0.1:
resolution: {integrity: sha512-h0AZ9A7IDVwwHyMxmdMXKy+9oNlF0zFoahHiX3vQ8e3KFcSP3VmsmfvtRSuLPxmyv2vjIDxqty8smTgie/SNRQ==}
engines: {node: '>=20.19.0'}
mongodb@7.2.0:
resolution: {integrity: sha512-F/2+BMZtLVhY30ioZp0dAmZ+IRZMBqI+nrv6t5+9/1AIwCa8sMRC3jBf81lpxMhnZgqq8CoUD503Z1oZWq1/sw==}
engines: {node: '>=20.19.0'}
peerDependencies:
'@aws-sdk/credential-providers': ^3.806.0
'@mongodb-js/zstd': ^7.0.0
gcp-metadata: ^7.0.1
kerberos: ^7.0.0
mongodb-client-encryption: '>=7.0.0 <7.1.0'
snappy: ^7.3.2
socks: ^2.8.6
peerDependenciesMeta:
'@aws-sdk/credential-providers':
optional: true
'@mongodb-js/zstd':
optional: true
gcp-metadata:
optional: true
kerberos:
optional: true
mongodb-client-encryption:
optional: true
snappy:
optional: true
socks:
optional: true
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
sparse-bitfield@3.0.3:
resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==}
tr46@5.1.1:
resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==}
engines: {node: '>=18'}
webidl-conversions@7.0.0:
resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
engines: {node: '>=12'}
whatwg-url@14.2.0:
resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==}
engines: {node: '>=18'}
snapshots:
'@mongodb-js/saslprep@1.4.11':
dependencies:
sparse-bitfield: 3.0.3
'@types/webidl-conversions@7.0.3': {}
'@types/whatwg-url@13.0.0':
dependencies:
'@types/webidl-conversions': 7.0.3
bson@7.2.0: {}
memory-pager@1.5.0: {}
mongodb-connection-string-url@7.0.1:
dependencies:
'@types/whatwg-url': 13.0.0
whatwg-url: 14.2.0
mongodb@7.2.0:
dependencies:
'@mongodb-js/saslprep': 1.4.11
bson: 7.2.0
mongodb-connection-string-url: 7.0.1
punycode@2.3.1: {}
sparse-bitfield@3.0.3:
dependencies:
memory-pager: 1.5.0
tr46@5.1.1:
dependencies:
punycode: 2.3.1
webidl-conversions@7.0.0: {}
whatwg-url@14.2.0:
dependencies:
tr46: 5.1.1
webidl-conversions: 7.0.0
+26
View File
@@ -0,0 +1,26 @@
[
{
"ranking_value": 999,
"ranking_name": "Not_Ranked"
},
{
"ranking_value": 1,
"ranking_name": "Excellent"
},
{
"ranking_value": 2,
"ranking_name": "Good"
},
{
"ranking_value": 3,
"ranking_name": "Okay"
},
{
"ranking_value": 4,
"ranking_name": "Bad"
},
{
"ranking_value": 5,
"ranking_name": "Terrible"
}
]
+88
View File
@@ -0,0 +1,88 @@
[
{
"user_id": "68385b9981097c6b4042dab4",
"first_name": "Bob",
"last_name": "Jones",
"email": "bobjones@hotmail.com",
"password": "$2a$10$FAd/ArLwxQ3WbNE3XKbyveRHidTpW9g84hX2CPr0tWdGGerrP6.3K",
"role": "ADMIN",
"created_at": {
"$date": "2025-05-29T13:05:29.000Z"
},
"updated_at": {
"$date": "2025-05-29T13:06:51.000Z"
},
"token": "",
"refresh_token": "",
"favourite_genres": [
{
"genre_id": 1,
"genre_name": "Comedy"
},
{
"genre_id": 4,
"genre_name": "Fantasy"
}
]
},
{
"user_id": "684535a8c3d7e6b4ac1c5203",
"first_name": "Sarah",
"last_name": "Smith",
"email": "sarahsmith@hotmail.com",
"password": "$2a$10$w0H8AI/xigWiq0hGsjyfqeWAR5d6oErWE4b7sz9uwCTKMwRIv49YW",
"role": "USER",
"created_at": {
"$date": "2025-06-08T07:03:04.865Z"
},
"updated_at": {
"$date": "2025-06-23T09:26:11.000Z"
},
"token": "",
"refresh_token": "",
"favourite_genres": [
{
"genre_id": 5,
"genre_name": "Thriller"
},
{
"genre_id": 6,
"genre_name": "Sci-fi"
},
{
"genre_id": 8,
"genre_name": "Mystery"
}
]
},
{
"user_id": "68512bc5a29d3bfe81637e3f",
"first_name": "Ben",
"last_name": "Madison",
"email": "benmadison@hotmail.com",
"password": "$2a$10$0rCBUYy4ZlTzuxcf20XV1.s7UVTbtkXkARQmzb3vstja4uDnp.NS.",
"role": "USER",
"created_at": {
"$date": "2025-06-17T08:48:05.649Z"
},
"updated_at": {
"$date": "2025-06-17T08:48:05.649Z"
},
"token": "",
"refresh_token": "",
"favourite_genres": [
{
"genre_id": 1,
"genre_name": "Comedy"
},
{
"genre_id": 5,
"genre_name": "Thriller"
},
{
"genre_id": 6,
"genre_name": "Sci-Fi"
}
]
}
]