Bank sample database — MongoDB, flat (149,222 rows)

A collection per table. Each primary key is the document _id; foreign keys are fields under their own names, so the SQL version's joins become $lookup stages.

Load it:
  sh import.sh                    (into mongodb://localhost:27017)
  sh import.sh "<connection string>"

Or one collection at a time: mongoimport --db bank --collection <name> --file <name>.ndjson

Collections:
  accounts — 2,000 documents
  addresses — 1,200 documents
  atm_machines — 60 documents
  atm_transactions — 8,000 documents
  audit_logs — 2,000 documents
  bill_payments — 3,000 documents
  branch_addresses — 20 documents
  branches — 20 documents
  cards — 1,500 documents
  credit_lines — 300 documents
  currency_rates — 12 documents
  customer_support_tickets — 600 documents
  customers — 1,200 documents
  departments — 60 documents
  direct_deposits — 600 documents
  employee_departments — 300 documents
  employees — 300 documents
  investment_assets — 900 documents
  investments — 300 documents
  kyc_documents — 1,200 documents
  loan_payments — 5,000 documents
  loans — 300 documents
  merchant_accounts — 200 documents
  mortgages — 100 documents
  overdraft_protections — 200 documents
  pos_terminals — 400 documents
  pos_transactions — 12,000 documents
  safe_deposit_boxes — 200 documents
  safe_deposit_leases — 50 documents
  standing_orders — 400 documents
  support_messages — 1,800 documents
  transactions — 100,000 documents
  transfers — 5,000 documents

Types: numeric columns are Decimal128, so totals stay exact; dates and timestamps are
Date values read as UTC (the data has no time zone); times and UUIDs are strings;
JSON columns are embedded objects.

Synthetic data, CC0-1.0, from databasesample.com. The same rows as the SQL and CSV files.
