MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Creare uno script per creare raccolte MongoDB da Mongo shell?

Crea un file chiamato "my_scripts.js", con i seguenti comandi. Questo JavaScript definisce i dati e i comandi per creare due raccolte (dogs e cats ), i loro dati (documenti come JSON) e gli indici (gli indici vengono creati sul name campo della collezione).

my_scripts.js:

let dogDocs = [
  {
    name: "pooch",
    breed: "poodle",
    weight: "6 lbs"
  },
  {
    name: "mutt",
    breed: "bulldog",
    weight: "10 lbs"
  }
];

let catDocs = [
  {
    name: "minni", 
    breed: "persian",
    color: "white"
  },
  {
    name: "tinkle",
    breed: "bombay",
    color: "black"
  }
];

let dogIndex = { name : 1 };
let catIndex = { name : 1 };

let collInfoObjs = [ 
  { coll: "dogs", data: dogDocs, index: dogIndex }, 
  { coll: "cats", data: catDocs, index: catIndex } 
];

for (obj of collInfoObjs) {
    db[obj.coll].insertMany(obj.data);
    db[obj.coll].createIndex(obj.index);
}


Esegui il file di script:

Dalla conchiglia mongo esegui lo script come (puoi specificare il percorso del file con load comando):

mongo > load("my_script.js");

Dopo aver eseguito lo script, puoi utilizzare singolarmente i seguenti comandi per verificare le raccolte, i relativi documenti e gli indici:

db.dogs.find();
db.cats.find();
db.dogs.getIndexes();
db.cats.getIndexes();

Nota che i documenti avranno un _id univoco campo (di tipo ObjectId ) creato se non fornisci il _id nei dati JSON di input.