Food delivery sample database — MongoDB, flat (2,430,995 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 food-delivery --collection <name> --file <name>.ndjson

Collections:
  addresses — 100,000 documents
  cart_item_modifiers — 4,000 documents
  cart_items — 20,000 documents
  cities — 10 documents
  countries — 1 documents
  coupons — 20 documents
  courier_locations — 10,000 documents
  courier_reviews — 80,000 documents
  couriers — 2,000 documents
  cuisine_types — 12 documents
  deliveries — 400,000 documents
  dietary_tags — 6 documents
  menu_categories — 300 documents
  menu_item_tags — 1,200 documents
  menu_items — 1,800 documents
  modifier_groups — 1,800 documents
  modifier_options — 5,400 documents
  operating_hours — 300 documents
  order_coupons — 40,000 documents
  order_item_modifiers — 150,000 documents
  order_items — 1,000,000 documents
  orders — 400,000 documents
  payment_methods — 30,000 documents
  payouts — 6,000 documents
  restaurant_cuisines — 80 documents
  restaurants — 60 documents
  reviews — 100,000 documents
  shopping_carts — 10,000 documents
  states — 6 documents
  support_messages — 20,000 documents
  support_tickets — 8,000 documents
  users — 40,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.
