MongoDB - The first sight
Introduction MongoDB is a document database designed for 易於開發與擴展,資料結構是field and value pairs 的BSON documents (像是JSON object). Value 型態除了string, int可為 document, arrays of document... MongoDB與DynamoDB都能運用GoeJOSN格式儲存座標地理位置 ref: https://geojson.org / https://docs.mongodb.com/manual/geospatial-queries / RDB v.s MongoDB 術語 database -> database table -> collection row -> document column -> field MongoDB 對應回RDB的專有名詞(aggregation mapping from SQL terms): WHERE -> match GROUP BY -> group HAVING -> match SELECT -> project ORDER BY -> sort LIMIT -> limit SUM() -> sum COUNT -> sum/sortByCount join -> lookup MongoDB的index 如同NoSQL的設定,沒透過index搜尋則會full collection scan. Index 是個能夠易於traverse 的資料結構。儲存對某field的value by 排序狀態,讓index搜尋時有效的匹配範圍操作的查詢 https://docs.mongodb.com/manual/indexes / MongoDB index type Single-field - 除了_id 之外可以自定義其他index,因為欄位單一因此順序不重要。e.g.: {score: 1} Compound Index - 定義index於多欄位 ,架設index為以下兩個組成 {name:1, score: -1},則index會先以name做排序再排score。 Multikey In