【发布时间】:2013-11-03 17:24:17
【问题描述】:
我正在开发一个小实用工具,它可以解析一些文件,提取特定信息,然后将其存储到 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 在读取单个文件后关闭,因此stackoverflow.com/questions/5957386/… 可能会有所帮助。