簡體   English   中英

更新並插入mongodb導入

[英]update and insert in mongodb import

以下命令從csv文件正確導入數據。 但是問題是有兩個相同的條目。 我在同一文檔中都需要417176718的兩個條目(因此沒有$ set)。 如何使用mongo import保留這兩個值?

cat final.txt
number, date, duration, type, destination
417176718 , 2013-01-23 20:09:00 , 1 , NORMAL_CLEARING , 61998487
409334392 , 2013-01-24 11:25:18 , 40 , NO_ANSWER , 09821973636
919480909 , 2013-01-25 20:58:00 , 40 , NORMAL_CLEARING , 09919480909
417176718 , 2013-01-24 20:09:00 , 1 , FAILED , 61998487

mongoimport -d mydb -c vcalls --type csv --file final.txt --headerline

這正是map reduce的目的。

一旦在數據庫中獲得了這個,就可以像這樣運行map reduce:

mapper= function(){emit(this.number, {'data':[{'date':this.date, 'duration':this.duration, 'type':this.type, 'destination':this.destination}]});}

reducer = function(k,v){
    data=[];
    for (i=0;i<v.length;i++){
          for (j=0;j<v[i].data.length;j++){
                data.push(v[i].data[j]);
         }
    }
    return {'data':data}
}
db.vcalls.mapReduce(mapper, reducer, 'reducedcalls')

這樣可以為您提供一個數據,即每個號碼只有一條記錄,並包含一個包含呼叫的列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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