Mongodb 3.4 + Centos6.5構成+mysql.sqlをcsvまたはjsonに変換してMongo(64ビットシステム)をインポートおよびエクスポート

7039 ワード

Centosでのyumインストール手順は次のとおりです.
宣言:ソースコードでインストールするよりも、logとdataディレクトリの構成と新規作成が少なく、簡単で乱暴です.
1,      ,
      vi /etc/yum.repos.d/mongodb-org-3.4.repo
2,      ,    
     [mongodb-org-3.4]
     name=MongoDB Repository
   baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
   gpgcheck=1
   enabled=1
   gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
 3,yum  
yum install -y mongodb-org

4, , , 127.0.0.1
vi /etc/mongod.conf -----》bind_ip 127.0.0.1 0.0.0.0

5, ,
service mongo start, service mongo stop

6, ---》 cat /var/log/mongodb/mongod.log
----》 cat /var/lib/mongo

7, mongo ----> yum erase $(rpm -qa | grep mongodb-org)

  mongo          --robo3T     MongoVUE   mongodb3   

 
mongodb共通コマンド:
       
    > show dbs
       
     > use database-name
      
     > show tables
       
      > db.table-name.find({})
       
      > db.table-name.find({'name':'zhangsan'})

> db.table-name.ensureIndex({'name':1}) 1 ,-1

> db.table-name.ensureIndex{{'name':1,'age':1}} name 。 age , N

> db.table-name.getIndexes()

> db.table-name.dropIndex({'name':1})
, :
> db.system.index.find()

> db.table-name.update({query},{$set:{'status':'1'}},false,true)
query:where
false: , false
true: , true

> db.table-name.find({'name':{$exists:true}}) -----> name

> db.table-name.remove({query})
query:

> db.table-name.update({query},{$rename:{'old-name':'new-name'}},false,true)

> hscourses ClassID :
db.hscourses.find({'ClassID' : { $type : 16 }}).forEach(function(x) {x.ClassID = x.ClassID+'';db.hscourses.save(x); }) 
    >  :mongo group by

         db.getCollection('bigdata').aggregate([                                {$match:{"CtfId": "152626198103082713"}},                                {$group:{_id:'$CtfId',Name:{'$addToSet':'$Name'},Address:{'$addToSet':'$Address'}}                                }])
         
       aggregate    :  $match       wherer。group   。_id       。 $addToSet               ,      。
($sum,$avg,$addToSet……)


   
          Mobile    \t js            

                          db.bigdata.find({'table_type':'5','Mobile':/\t/}).forEach(function(x){x.Mobile=x.Mobile.substring(0,x.Mobile.length-1);//stringタイプdb.bigdata.save(x);//保存});


 
 
 
 
mongo jsonまたはcsvメソッドのインポート
  :4G  .sql  (20050144   )  mongodb       28   + 25   + 15  
①,28 : linux source ./.sql
②,25 : Navicat for MySQL csv json
③,15 : mongo mongoimport csv json

 2      ,      ② :
json : 4G .sql , navicat json 11G,11G json mongo ‘/a’ , 200MB
csv : 4G .sql , navicat csv 4G, csv , , mongo ,
navicat ’ ‘ mongdb

json: 

           
mongoimport --db  table-name  --collection table-name  --file /test.json 
  
     csv:
mongoimport --db table-name  --collection table-name --type csv --headerline --ignoreBlanks  --file /test.csv  --numInsertionWorkers 4

mongoimport --db bigdata --collection test4 --type csv --columnsHaveTypes --fields "EMail.string(),password1.string(),CtfId.string(),password2.string()" --file /home/kdjkadmin/mydb_sql/1312306.csv
csv int string 。 mongdo numberLong ,pymongo numberlong python2 long() ,python3 int()。 x
      json:

            mongoexport  --db  table-name  --collection table-name  -o/test.json
      csv: 

mongoexport  --db  table-name  --collection table-name --csv -f id,province,city -o /test.csv
--csv csv , csv
-f
-f 。 (too many positional arguments)
    

--db , ” table-name
          --collection        ,     ”table-name”
--type , json
--headerline csv,tsv ,
--ignoreBlanks
--file
--numInsertionWorkers mongo , mongodb (numInsertionWorkers) 。 , insert , 。








転載先:https://www.cnblogs.com/pythonSF/p/8099059.html