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

Lav et script til at oprette MongoDB-samlinger fra Mongo-shell?

Opret en fil kaldet "my_scripts.js", med følgende kommandoer. Dette JavaScript definerer dataene og kommandoerne til at oprette to samlinger (dogs og cats ), deres data (dokumenter som JSON) og indekserne (indekser oprettes på name samlingens felt).

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


Kør scriptfilen:

Fra mongo-skallen kør scriptet som (du kan angive filstien med load kommando):

mongo > load("my_script.js");

Når scriptet er kørt, kan du bruge følgende kommandoer individuelt til at verificere samlingerne, deres dokumenter og indekser:

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

Bemærk, at dokumenterne vil have et unikt _id felt (af typen ObjectId ) oprettet, hvis du ikke angiver _id i input JSON-data.



  1. Rediger og gentag MongoDB oplog

  2. MongoDB kører langsomt under belastning

  3. MongoError ukendt topniveauoperatør:$set

  4. MongoDB java klientens WriteConcern virker ikke