sql >> データベース >  >> NoSQL >> MongoDB

MongoシェルからMongoDBコレクションを作成するスクリプトを作成しますか?

    次のコマンドを使用して、「my_scripts.js」というファイルを作成します。このJavaScriptは、2つのコレクション(dogs)を作成するためのデータとコマンドを定義します およびcats )、それらのデータ(JSONとしてのドキュメント)およびインデックス(インデックスはnameに作成されます コレクションのフィールド)。

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


    スクリプトファイルを実行します:

    mongoシェルから スクリプトを次のように実行します(loadでファイルパスを指定できます コマンド):

    mongo > load("my_script.js");
    

    スクリプトの実行後、次のコマンドを個別に使用して、コレクション、それらのドキュメント、およびインデックスを確認できます。

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

    ドキュメントには一意の_idが含まれることに注意してください フィールド(タイプObjectId_idを指定しない場合に作成されます 入力JSONデータで。



    1. パフォーマンス向上のためのMapReduceのパフォーマンスチューニング

    2. mongodbのネストされた配列にデータを挿入します

    3. 最後のstream.on('data')イベントで非同期関数のコールバックを待ちます

    4. md5ハッシュをMongoDBに効率的に保存するためのベストプラクティス