簡體   English   中英

使用Linux Shell腳本向mongodb添加值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM