RBD Lab 11

MongoDB - wstęp

Podstawowe instrukcje i obsługa MongoDB


Wstawianie dokumentów

insertOne()

db.students.insertOne({
    name: "Anna Kowalska",
    age: 21,
    faculty: "Informatyka"
})

insertMany()

db.students.insertMany([
{
    name: "Jan Nowak",
    age: 22,
    faculty: "Cyberbezpieczeństwo"
},
{
    name: "Maria Wiśniewska",
    age: 20,
    faculty: "Informatyka"
}
])

Wyświetlanie danych

Wszystkie dokumenty

db.students.find()

Ładne formatowanie

db.students.find().pretty()

Jeden dokument

db.students.findOne()

Filtrowanie danych

Równość

db.students.find({
    faculty: "Informatyka"
})

Większe niż ($gt)

db.students.find({
    age: { $gt: 21 }
})

Mniejsze niż ($lt)

db.students.find({
    age: { $lt: 22 }
})

Większe lub równe ($gte)

db.students.find({
    age: { $gte: 21 }
})

Mniejsze lub równe ($lte)

db.students.find({
    age: { $lte: 22 }
})

Różne od ($ne)

db.students.find({
    faculty: { $ne: "Grafika" }
})

Operatory logiczne

$and

db.students.find({
    $and: [
        { faculty: "Informatyka" },
        { age: { $gt: 20 } }
    ]
})

$or

db.students.find({
    $or: [
        { faculty: "Informatyka" },
        { faculty: "Cyberbezpieczeństwo" }
    ]
})

Wyszukiwanie w tablicach

Dane

db.students.insertOne({
    name: "Piotr Zieliński",
    courses: ["MongoDB", "Linux", "Python"]
})

Wyszukanie elementu w tablicy

db.students.find({
    courses: "MongoDB"
})

Projekcja pól

Tylko wybrane pola

db.students.find(
    {},
    {
        _id: 0,
        name: 1,
        faculty: 1
    }
)

Sortowanie

Rosnąco

db.students.find().sort({
    age: 1
})

Malejąco

db.students.find().sort({
    age: -1
})

Limit wyników

db.students.find().limit(2)

Pomijanie wyników (skip)

db.students.find().skip(2)

Aktualizacja danych

updateOne()

db.students.updateOne(
{
    name: "Anna Kowalska"
},
{
    $set: {
        age: 22
    }
}
)

updateMany()

db.students.updateMany(
{},
{
    $set: {
        active: true
    }
}
)

Usuwanie pól

db.students.updateOne(
{
    name: "Anna Kowalska"
},
{
    $unset: {
        active: ""
    }
}
)

Dodawanie elementu do tablicy

db.students.updateOne(
{
    name: "Piotr Zieliński"
},
{
    $push: {
        courses: "Docker"
    }
}
)

Usuwanie elementu z tablicy

db.students.updateOne(
{
    name: "Piotr Zieliński"
},
{
    $pull: {
        courses: "Linux"
    }
}
)

Usuwanie dokumentów

deleteOne()

db.students.deleteOne({
    name: "Jan Nowak"
})

deleteMany()

db.students.deleteMany({
    faculty: "Grafika"
})