Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 4 Current »

\uD83D\uDDD3 Date

\uD83D\uDC65 Participants

\uD83E\uDD45 Agenda

  • MongoDB!

\uD83D\uDDE3 Discussion topics

Item

Notes

The Next API Lead…

dun dun dun

  • Josh is graduating next semester

  • Reach out to Josh if you’re even a bit interested

    • Involves some one-on-one mentoring about running the API and API team

Overview

  • Relational databases. Eg. SQL

    • This is most of what you learn at UTD

  • Document databases

    • Both have been around, but this is more modern

    • Stored in basically JSON

    • Still have primary and foreign keys but it’s less of a focus

Diving in

  • Looking at MongoDB Go Driver and the mongo Go package

  • MongoDB Compass app helps visualize the database

  • Structure: multiple databases with collections (folders)

    • In this case the folders are courses, degrees, exams, professors, and sections

  • Working with course collection

    • Find method: find items in collection based on query

      • uses bson.D (documentation): what to find by

      • uses optionLimit: defined in configs, mainly used to Limit results. supports pagination with Skip

    • Cursor: iterate over stream of documents

      • kind of works like reading a file: you can decode it all at once, or document by document

      • has options to set MongoDB server timeout, find errors in specific documents while salvaging the rest

  • Object IDs are auto generated by MongoDB but can be customized

  • More specific queries return less data and allow the more efficient database server to do the work for you

  • Aggregations let you set up data pipelines and can produce queryable collections like regular collections

⤴ Decisions

    ✅ Action items

    •  
  • No labels