問題タブ [mongoimport]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Javascript / Node.jsを使用してコード内でmongoimportを実行する
mongoimport
個人がコードで使用できるようにする node.js/javascript で利用可能なライブラリはありますか?
私の理解では、mongoimport は .exe のようなもので、テキスト入力環境を使用する前に最初に実行する必要があります。
コードで mongoimport を実行し、必要なコマンドをコードで直接解析することは可能ですか?
私の現在のアルゴリズムは次のとおりです。
JSON.stringify
obj は、node.jsのres
メソッド (HTTP 応答を要求する) で解析する関数を指定するオブジェクトです。
次に、mongoimport を使用して、この JSON ドキュメントを MongoDB にインポートします。
mongoimport --host localhost -db scrapeapp -collection scrape --file log.txt --jsonArray
この方法は明らかに非効率的です。これらすべての手順を一度に実行したいと考えています。
助けていただければ幸いです
mongodb - 大きなファイルとデータをMongoDBにインポートするメモリ効率の良い方法は?
最近 MongoDB を試した後、大量のデータをコレクションにインポート/挿入するいくつかの異なる方法を試しました。これまでのところ、私が見つけた最も効率的な方法は mongoimport です。完全に機能しますが、まだオーバーヘッドがあります。インポートが完了した後でも、マシンを再起動しない限りメモリが使用可能になりません。
例:
私のヘッダーラインとデータは次のようになります:
530 万行 x 20 列、約 900MB の場合、次のようになります。
これは長期的にはうまくいきません。常に再起動できるとは限らないか、最終的にメモリ不足になります。MongoDB にインポートするより効果的な方法は何ですか? 定期的な RAM フラッシュについて読みましたが、上記の例のようなものをどのように実装できますか?
更新: 私のケースでは、fsync、syncdelay、またはジャーナリングを調整してもあまりメリットがないと思います。高RAMサーバーで実行していたとしても、いつそれが良いアイデアであり、ベストプラクティスになるのか、私はただ興味があります.
mongodb - mongoimport はコレクションをしばらく空のままにします
そうです
そして、これはエラーなし--stopOnError
で返されます(追加しても、存在ステータス0でエラーなしで返されます)。
もしそうなら
そしてそれは戻ってきます
ただし、mongo コンソールにログインすると、データがそこにあることがわかります。
助言がありますか?私はmongo 2.2を使用しています。
同様の質問mongoimport is not shown the collection after import has run successfullyを見ましたが、サーバーログをチェックすると、何も問題がありません。
json - 200 を超えるドキュメントで構成される JSON ファイルを mongodb にインポートする方法
demodb.json
ファイル (10 個のドキュメントを含む) を作成し、システムのD:\
ドライブに保存しました
の内容は次のdemodb.json
とおりです。
私のMongodbの場所は次のとおりです。D:\SanMongoDB
に保存されているすべてのデータベースとコレクションD:\SanMongoDB\MongoData
demodb -->city コレクションの中身は以下の通り
Mongodサーバーを起動してからmongoクライアントを開きましたmongoクライアントで次のことを行いました:
demodb を使用 mongoimport -d demodb -c city --type json --file demodb.json --jsonarray
しかし、私は以下のようなエラーを見つけました
Thu May 09 08:21:57.861 Javascript execution failed:SyntaxError:Unexpected identifier
JsonファイルをMongodbの既存のデータベースに簡単にインポートできるように、何をする必要があるかを親切に提案してください。
mongodb - mongimport を使用して JSON ファイルをインポートすると、「予期しない識別子」が引き続き取得されますか?
mongoimports
ここで、端末から使用して JSON ファイルを mongodb に追加しようとしています。
JSON Lint: http://jsonlint.com/を介してJavaScript execution failed: SyntaxError: Unexpected identifier
JSON を実行しましたが、 これは有効な JSON であると表示されています。
何がインポートプロセスをつまずかせているのかわかりません?? または、問題を突き止めるためにさらに調査する方法は?
アップデート
- 誰かが、すべてを 1 行にまとめることを提案しました。まともな提案。試してみましたが、うまくいきませんでした。
simple.json
コンテンツで名前が付けられた非常に単純なjsonファイルをインポートしようとしました{'content' : 'simple'}
が、を使用しても同じエラーが発生しmongoimport
ます。mongo
(シェルからドキュメントを追加できます。)
JSON のサンプルを以下に示します。
2_read.json
ありがとう。
mongodb - mongodb - mongoimport stopOnError オプション
mongodb のドキュメントによると、stopOnError オプションは、エラーがあっても操作を続行するのではなく、最初のエラーでインポート操作を停止するように mongoimport に強制します。
このオプションが機能するさまざまなエラーは何ですか?
次のエラー条件についてテストしました。
mongod インスタンスを停止しました。mongodb との接続が失われたことを示す次のエラーが表示されます。
/li>同じファイルを同じデータベースとコレクションに再度インポートしました。これにより、重複エントリエラーが発生するはずです。エラーが表示されますが、インポートは停止しません。
/li>
今、私は混乱しています。stopOnError はネットワーク エラーまたは書き込みエラーに対してのみ機能しますか? mongoimport の使用中に書き込み懸念を設定したり、getLastError ステータスを取得したりする方法はありますか?