MongoDB怎样批量执行命令?
天蓬老师
天蓬老师 2017-04-24 09:10:43
0
2
664

目前已经找到一种方法,但是该方法存在问题,即无法有效处理文档过长的情况。

db.area.insert({'number':'010010','province':'内蒙古自治区','city':'呼和浩特市','disc':'新城区','addr':'光华街(十四中家属楼)','jd':'内蒙古自治区呼和浩特市新城区'})
db.area.insert({'number':'010010','province':'内蒙古自治区','city':'呼和浩特市','disc':'新城区','addr':'兴安南路','jd':'内蒙古自治区呼和浩特市新城区'})

cat mon | /usr/local/mongodb/bin/mongo localhost/zip --shell

当insert的文档过长时,该方法会报错,显示unexpected token ILLEGAL和unexpected identifier。但是在Robomongo中执行同样的命令则没有问题。

因为需要批量处理的是insert和update混合的命令,且涉及多个集合,因此无法使用mongoimport。

使用环境为linux

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信(2)
Ty80

1 つの all.js 文件,然后用 mongo localhost/zip all.js 実行で実行されるすべてのコードを直接記述します。

いいねを押す +0
小葫芦

@Huan Du の答えは、MongoDB シェルのスクリプト モードを使用することです。これは、シェルにコマンドを直接入力するのとは少し異なります。たとえば、show dbs は合法的な Javascript 言語ではないため、使用できません。別の例として、クエリは最初の 20 個のドキュメントを直接表示する代わりに、カーソルを返します。構文エラーなどのエラー メッセージが表示されます。

ここで具体的なドキュメントを参照してください
MongoDB スクリプト
mongo シェルのスクリプトを作成する
サーバーサイド JavaScript

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート