MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Faça um script para criar coleções do MongoDB a partir do shell do Mongo?


Crie um arquivo chamado "my_scripts.js", com os comandos a seguir. Este JavaScript define os dados e comandos para criar duas coleções (dogs e cats ), seus dados (documentos como JSON) e os índices (os índices são criados no name campo da coleção).

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


Execute o arquivo de script:

Do concha do mongo execute o script como (você pode especificar o caminho do arquivo com o load comando):
mongo > load("my_script.js");

Após a execução do script, você pode usar os seguintes comandos individualmente para verificar as coleções, seus documentos e os índices:
db.dogs.find();
db.cats.find();
db.dogs.getIndexes();
db.cats.getIndexes();

Observe que os documentos terão um _id exclusivo campo (do tipo ObjectId ) criado se você não fornecer o _id nos dados JSON de entrada.