Rozdział ten wprowadza operacje wsadowe (bulkWrite) na danych dokumentów w MongoDB przy użyciu powłoki mongo. Tutaj, operacje wsadowe odnoszą się nie tylko do wsadowej aktualizacji dokumentów wspomnianej w poprzednich rozdziałach, ale obejmują również wsparcie dla wykonania wsadowych operacji zapisu, w tym wstawiania, aktualizacji i usuwania dokumentów.
Funkcja bulkWrite służy do operacji wsadowych w powłoce mongo.
Wskazówka: Operacje wsadowe są często stosowane w scenariuszach wymagających synchronizacji wsadowych danych.
Operacje zapisu obsługiwane przez funkcję bulkWrite
Operacje wsadowe obsługują następujące kombinacje operacji zapisu:
- insertOne - Wstawianie dokumentu
- updateOne - Aktualizacja dokumentu
- updateMany - Aktualizacja wsadowa dokumentów
- replaceOne - Podmiana dokumentu
- deleteOne - Usunięcie dokumentu
- deleteMany - Usunięcie wsadowe dokumentów
Format składni
db.kolekcja.bulkWrite(
[ <operacja 1>, <operacja 2>, ... ],
)
Wyjaśnienie:
- operacja - Reprezentuje konfigurację operacji zapisu
- bulkWrite przyjmuje tablicę operacji zapisu.
Przykład
Oto kompleksowy przykład pokazujący wsadowe wykonanie zestawu operacji zapisu dokumentu.
db.inventory.bulkWrite(
[
// Wstawianie dokumentu
{ insertOne :
{
// Zawartość dokumentu
"document" :
{
"_id" : 4, "char" : "Dithras", "class" : "barbarian", "lvl" : 4
}
}
},
{ insertOne :
{
"document" :
{
"_id" : 5, "char" : "Taeln", "class" : "fighter", "lvl" : 3
}
}
},
// Aktualizacja dokumentu, updateMany jest podobne do aktualizacji wsadowej dokumentów
{ updateOne :
{
// Warunek aktualizacji
"filter" : { "char" : "Eldon" },
// Zawartość aktualizacji
"update" : { $set : { "status" : "Critical Injury" } }
}
},
// Usunięcie dokumentu, deleteMany jest podobne do usuwania wielu dokumentów
{ deleteOne :
// Warunek usuwania
{ "filter" : { "char" : "Brisbane" } }
},
// Podmiana dokumentu
{ replaceOne :
{
// Warunek podmiany
"filter" : { "char" : "Meldane" },
// Zawartość podmiany
"replacement" : { "char" : "Tanys", "class" : "oracle", "lvl" : 4 }
}
}
]
);