Udostępnij za pośrednictwem


Wstawianie danych do usługi Cosmos DB dla bazy danych MongoDB

Ważna

Czy chcesz przeprowadzić migrację istniejącej aplikacji bazy danych MongoDB lub używać funkcji języka zapytań MongoDB (MQL)? Rozważ użycie usługi Azure DocumentDB.

Szukasz rozwiązania bazy danych dla scenariuszy o dużej skali z umową SLA gwarantującą poziom dostępności na poziomie 99,999%, natychmiastowym skalowaniem automatycznym i automatycznym przełączaniem awaryjnym między wieloma regionami? Rozważmy usługę Azure Cosmos DB dla noSQL.

Jedną z najbardziej podstawowych operacji jest wstawianie danych do kolekcji. W tym przewodniku omówimy wszystko, co musisz wiedzieć o wstawieniu danych przy użyciu powłoki Mongo (Mongosh).

Wstawianie pojedynczego dokumentu

Najprostszym sposobem wstawiania danych do bazy danych MongoDB jest wstawianie pojedynczego dokumentu. W tym celu można użyć metody db.collection.insertOne(). Metoda insertOne() przyjmuje pojedynczy dokument jako argument i wstawia go do określonej kolekcji. Oto przykład użycia tej metody:

db.myCollection.insertOne({
  name: "John Smith",
  age: 30,
  address: "123 Main St"
});

W tym przykładzie wstawiamy dokument do kolekcji "myCollection" z następującymi polami: "name", "age" i "address". Po wykonaniu polecenia zobaczysz potwierdzenie: true i insertedId: ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f") w wynikach, gdzie wstawiony identyfikator jest unikatowym identyfikatorem wygenerowanym przez bazę danych MongoDB dla wstawionego dokumentu.

Wstawianie wielu dokumentów

W wielu przypadkach należy wstawić wiele dokumentów jednocześnie. W tym celu można użyć metody db.collection.insertMany(). Metoda insertMany() przyjmuje tablicę dokumentów jako argument i wstawia je do określonej kolekcji. Oto przykład:

db.myCollection.insertMany([
  {name: "Jane Doe", age: 25, address: "456 Park Ave"},
  {name: "Bob Smith", age: 35, address: "789 Elm St"},
  {name: "Sally Johnson", age: 40, address: "111 Oak St"}
]);

W tym przykładzie wstawiamy trzy dokumenty do kolekcji "myCollection". Każdy dokument ma te same pola co w poprzednim przykładzie: "name", "age" i "address". Metoda insertMany() zwraca acknowledged: true oraz insertedIds: [ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f"), ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f"), ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f")], gdzie insertedIds to tablica unikatowych identyfikatorów generowanych przez MongoDB dla każdego wstawionego dokumentu.

Wstawianie z opcjami

Zarówno insertOne() i insertMany() akceptują opcjonalny drugi argument, który może służyć do określania opcji operacji wstawiania. Aby na przykład ustawić opcję "posortowana" na wartość false, możesz użyć następującego kodu:

db.myCollection.insertMany([
  {name: "Jane Doe", age: 25, address: "456 Park Ave"},
  {name: "Bob Smith", age: 35, address: "789 Elm St"},
  {name: "Sally Johnson", age: 40, address: "111 Oak St"}
], {ordered: false});

Dzięki temu baza danych MongoDB wstawia dokumenty w sposób nieurządkowany, co oznacza, że jeśli jeden dokument nie zostanie wstawiony, będzie kontynuowany z następnym. Jest to zalecane w przypadku wydajności zapisu w usłudze Cosmos DB dla bazy danych MongoDB

Następne kroki