我已经使用mysql数据库在codeigniter中完成了一个项目,但现在我想将mysql移动到非sql数据库mongodb。我在codeigniter中找到了mongodb的一些驱动程序,但它们的查询结构不同。我也在该项目中使用自定义sql查询,如
$sql = "SELECT * FROM table_name";
$this->db->query($sql);
我希望在现有项目中使用mongodb而不更改任何数据库查询。 请帮助我如何做到这一点。
答案 0 :(得分:0)
您可以使用某些命令将mysql数据转储到csv:
mysql -u [USERNAME] -p [DBNAME] -e "SELECT * FROM table_name;"|sed "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > result_csv.csv
然后只使用mongoimport:
mongoimport --db mongodb_name --collection mongo_collection --headerline < result_csv.csv
<强> UPD:强>
而不是使用mysql
命令查询mysql服务器,您可以使用:
mysqldump -u username -p -t -T/path/to/directory dbname table_name --fields-terminated-by=','
但是,在这种情况下,您必须记住/path/to/directory
进程必须可以写mysql
,并且,我记得,--headerline
中不需要mongoimport
选项命令