Inserimento di dati in Cosmos DB for MongoDB

Importante

Si vuole eseguire la migrazione di un'applicazione MongoDB esistente o usare le funzionalità MQL (MongoDB Query Language) ? Prendere in considerazione Azure DocumentDB.

Si sta cercando una soluzione di database per scenari su larga scala con un contratto di servizio di disponibilità 99.999%, scalabilità automatica immediata e failover automatico in più aree? Prendere in considerazione Azure Cosmos DB per NoSQL.

Una delle operazioni più di base consiste nell'inserire dati in una raccolta. In questa guida, copriremo tutto ciò che c'è da sapere su come inserire i dati utilizzando il Mongo Shell (Mongosh).

Inserimento di un singolo documento

Il modo più semplice per inserire dati in MongoDB consiste nell'inserire un singolo documento. A tale scopo, è possibile utilizzare il metodo db.collection.insertOne(). Il metodo insertOne() prende un singolo documento come argomento e lo inserisce nella raccolta specificata. Ecco un esempio di come usare questo metodo:

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

In questo esempio viene inserito un documento nell'insieme "myCollection" con i campi seguenti: "nome", "età" e "indirizzo". Una volta eseguito il comando, nell'output verrà visualizzato il valore riconosciuto: true e insertedId: ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f"), dove insertedId è l'identificatore univoco generato da MongoDB per il documento inserito.

Inserimento di più documenti

In molti casi, è necessario inserire più documenti contemporaneamente. A tale scopo, è possibile utilizzare il metodo db.collection.insertMany(). Il metodo insertMany() accetta una matrice di documenti come argomento e li inserisce nella raccolta specificata. Ecco un esempio:

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"}
]);

In questo esempio vengono inseriti tre documenti nell'insieme "myCollection". Ogni documento ha gli stessi campi dell'esempio precedente: "nome", "età" e "indirizzo". Il metodo insertMany() restituisce acknowledged: true e insertedIds: [ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f"), ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f"), ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f")], dove insertedIds è un array di identificatori univoci generati da MongoDB per ogni documento inserito.

Inserimento con opzioni

Sia insertOne() che insertMany() accettano un secondo argomento facoltativo, che può essere usato per specificare le opzioni per l'operazione di inserimento. Ad esempio, per impostare l'opzione "ordered" su false è possibile usare il codice seguente:

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});

Ciò comunica a MongoDB di inserire i documenti in modo non ordinato, vale a dire che se un documento non riesce a essere inserito, continuerà con quello successivo. Questa opzione è consigliata per le prestazioni di scrittura in Cosmos DB for MongoDB

Passaggi successivi