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

MongoDBシェル出力をファイルに「きれいに」印刷する方法はありますか?

    シェルはインタラクティブな環境であるため、いくつかの優れた機能を提供します。

    javascriptファイルからmongocommands.jsを介してコマンドを実行すると、まったく同じ動作は得られません。

    これを回避するには2つの方法があります。

    (1)シェルを偽造して、インタラクティブモードになっていると思わせる

    $ mongo dbname << EOF > output.json
    db.collection.find().pretty()
    EOF
    

    または
    (2)Javascriptを使用してfind()の結果を変換します 印刷可能なJSONに

    mongo dbname command.js > output.json
    

    ここで、command.jsにはこれ(または同等のもの)が含まれています:

    printjson( db.collection.find().toArray() )
    

    これにより、[ ]を含む結果の配列がきれいに出力されます。 -必要がない場合は、配列とprintjson()を反復処理できます。 各要素。

    ちなみに、Javascriptステートメントを1つだけ実行している場合は、それをファイルに入れる必要はなく、代わりに次を使用できます。

    $ mongo --quiet dbname --eval 'printjson(db.collection.find().toArray())' > output.json
    


    1. 渡される引数は24桁の16進文字の文字列である必要があります-私はそれが

    2. MongoDBでデータベースを削除する2つの方法

    3. エラー99がlocalhost:6379に接続しています。要求されたアドレスを割り当てることができません

    4. gkeは透過的な巨大ページを無効にできません...許可が拒否されました