Sobes.tech
Junior — Middle

Môžete vysvetliť, čo je MongoDB a ako funguje ako NoSQL databáza?

sobes.tech AI

Odpoveď od AI

MongoDB je dokumentovo orientovaná NoSQL databáza, ktorá uchováva údaje vo formáte BSON (rozšírený JSON). Na rozdiel od relačných databáz, MongoDB nepoužíva tabuľky a riadky, ale pracuje s kolekciami dokumentov, čo zabezpečuje flexibilitu v štruktúre údajov.

Hlavné vlastnosti MongoDB:

  • Flexibilná schéma: dokumenty v jednej kolekcii môžu mať rôzne štruktúry.
  • Škálovateľnosť: podporuje horizontálne škálovanie pomocou sharding.
  • Vysoký výkon: vďaka indexom a zabudovanému cache.
  • Podpora zložitých dopytov: agregácie, filtrovanie, zoradenie.

V jazyku Go sa na prácu s MongoDB zvyčajne používa oficiálny ovládač go.mongodb.org/mongo-driver. Príklad pripojenia a vloženia dokumentu:

import (
    "context"
    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
    "log"
)

func main() {
    client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI("mongodb://localhost:27017"))
    if err != nil {
        log.Fatal(err)
    }
    collection := client.Database("testdb").Collection("users")

    user := bson.D{{"name", "Ivan"}, {"age", 30}}
    _, err = collection.InsertOne(context.TODO(), user)
    if err != nil {
        log.Fatal(err)
    }
}

MongoDB je vhodný pre aplikácie s dynamickou štruktúrou dát a vysokou škálovateľnosťou.