sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Hacer un script para crear colecciones MongoDB desde Mongo Shell?

Cree un archivo llamado "my_scripts.js", con los siguientes comandos. Este JavaScript define los datos y comandos para crear dos colecciones (dogs y cats ), sus datos (documentos como JSON) y los índices (los índices se crean en el name campo de la colección).

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


Ejecute el archivo de script:

Desde el cáscara de mongo ejecute el script como (puede especificar la ruta del archivo con load comando):

mongo > load("my_script.js");

Después de ejecutar el script, puede usar los siguientes comandos individualmente para verificar las colecciones, sus documentos y los índices:

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

Tenga en cuenta que los documentos tendrán un _id único campo (de tipo ObjectId ) creado si no proporciona el _id en los datos JSON de entrada.