0

私はいくつかのファイルを解析し、特定の情報を抽出して mongodb コレクションに保存する小さなユーティリティ ツールを開発しています。

現在は機能していますが、次のようなことをしています:

#!/bin/bash

find myFolder | while read f
do
    # some things
    ...
    # and then

    echo "db.test.insert({'val': BinData(0, '$data')});" | mongo -quiet --host 127.0.0.1:36427 collectionName
done

しかし、ここでの「問題」は、毎回mongodb接続を開いたり閉じたりしていることです。
だからここに質問があります:

mongodb 接続を開始してから、そこにいくつかのデータを入れる方法はありますか。

次のコードが完全に間違っていることはわかっていますが、探している機能の例を示しているだけです。

#!/bin/bash

mongoConn=`mongo 127.0.0.1:36427 collectionName`

find myFolder | while read f
    # ...

    echo "db.test.insert(..);" > mongoConn
done

echo "exit;" > mongoConn
4

2 に答える 2

0

次のようなものを試すことができます:

#!/bin/bash

deleteTmpFile(){
    [[ -f insert.tmp ]] && rm -rf $1
}

tmpFile="insert.tmp"
deleteTmpFile $tmpFile

find ... | while read f
do
    #...
    echo "db.test.insert({'val': BinData(0, '$data')});" >> $tmpFile
done

cat insert.tmp|mongo -quiet --host 127.0.0.1:36427 collectionName
deleteTmpFile $tmpFile
于 2013-11-03T17:40:56.853 に答える