我正在開發一些小工具,用於解析某些文件,提取特定的信息,然後將它存儲到一個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
命名管道可以工作,這是您的文件夾中的一個特殊文件,其工作方式類似於管道。您可能想要在閱讀單個文件後阻止mongodb關閉,因此http://stackoverflow.com/questions/5957386/prevent-fifo-from-closing-reuse-closed-fifo可能會有所幫助。 – unique2