sql >> Databasteknik >  >> NoSQL >> MongoDB

Göra ett skript för att skapa MongoDB-samlingar från Mongo-skalet?

Skapa en fil som heter "my_scripts.js", med följande kommandon. Detta JavaScript definierar data och kommandon för att skapa två samlingar (dogs och cats ), deras data (dokument som JSON) och indexen (index skapas på name samlingens fält).

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 skriptfilen:

Från mongoskalet kör skriptet som (du kan ange filsökvägen med load kommando):

mongo > load("my_script.js");

Efter att skriptet har körts kan du använda följande kommandon individuellt för att verifiera samlingarna, deras dokument och index:

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

Observera att dokumenten kommer att ha ett unikt _id fält (av typen ObjectId ) skapas om du inte anger _id i ingången JSON-data.



  1. Bästa sättet att lagra datum/tid i mongodb

  2. Spring HATEOAS RepresentationModel, kan inte ställa in egenskapslänkar eftersom ingen setter, ingen vissnar och det inte är en del av persistenskonstruktorn

  3. mongodb count antal distinkta värden per fält/nyckel

  4. Hur man gör mongo-grupp på Meteor-serversidan