首页 > 黑方法 > mongodb批量导入数据

mongodb批量导入数据

2012年9月2日 发表评论 阅读评论

mongodb 命令行可以把sql文件批量导入数据,首先把sql文件加工称如下格式

zip.sql源文件
INSERT INTO POST(id,PostNumber,Province,City,District,Address,jd) VALUES ('1161','010010','内蒙古自治区','呼和浩特市','新城区','光华街(十四中家属楼)','内蒙古自治区呼和浩特市新城区');
INSERT INTO POST(id,PostNumber,Province,City,District,Address,jd) VALUES ('1162','010010','内蒙古自治区','呼和浩特市','新城区','兴安南路','内蒙古自治区呼和浩特市新城区');

借助awk和sed
awk -f "','" '{print "x27number:x27"$2"x27,x27provincex27:x27"$3"x27,x27cityx27:x27"$4"x27,x27discx27:x27"$5"x27,x27addrx27:x27"$6"x27,x27jdx27:x27"$7} zip.sql >step1.txt
sed -e 's/);/})/g' setp1.txt > mon

加工后的mon文件
db.area.insert({'number':'010010','province':'内蒙古自治区','city':'呼和浩特市','disc':'新城区','addr':'光华街(十四中家属楼)','jd':'内蒙古自治区呼和浩特市新城区'})
db.area.insert({'number':'010010','province':'内蒙古自治区','city':'呼和浩特市','disc':'新城区','addr':'兴安南路','jd':'内蒙古自治区呼和浩特市新城区'})

cat mon | /usr/local/mongodb/bin/mongo localhost/zip --shell

其中zip为数据库名 area为集合名

mongodb建立索引

/usr/local/mongodb/bin/mongo

use zip

db.area.ensureIndex({"number":1})

分类: 黑方法 标签:
  1. 2012年9月11日12:00 | #1

    只有更新速度够快,俺们这些粉丝才能更忠实!

  1. 本文目前尚无任何 trackbacks 和 pingbacks.