[英]Adding values to mongodb by using Linux shell script
在這里我試圖將一些值推送到mongodb這是我的偽代碼
while read LINE
do
addRow $para1 $param1 #pass value to the mongo
done < ${FILE}
function addRow() {
para1="$1";
para2="$2";
if [ ! -z "$para1" ]
then
echo $1 $2;
mongo dbname <<EOF
newstuff = [{ "name" : "${1}", "age" : "${2}" }]
db.collectionname.insert(newstuff);
EOF
else
echo “Failed”;
fi
}
它的工作正常,但我認為這不是完成該工作的適當方法,我可以看到每次都重新建立連接,任何專業建議可能會有所幫助
#### Process
bye
#file1
connecting to: dbname
[
##proc 1
]
bye
#file 2
MongoDB shell version: 2.4.8
connecting to: dbname
[
##proc 2
]
bye
#file3
MongoDB shell version: 2.4.8
connecting to: dbname
[
##proc 3
]
bye
假設FILE中的每個LINE包含兩個參數,我將首先為所有內容構建JS對象,然后通過一次調用將其添加到mongo中:
items=()
while read para1 para2; do
items+=( "$(printf '{"name":"%s","age":"%s"}' "$para1" "$para2")" )
done < "$FILE"
js_list=$(IFS=,; echo "[${items[*]}]")
mongo dbname <<EOF
newstuff = $js_list
db.collectionname.insert(newstuff);
EOF
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.