我正在尝试将 mysql 表导入到 mongodb 集合中。我想将 mysql 列作为 mongodb 子文档: MYSQL =>
| col1 | col2 | col3 | col4 |
------------------------------
| abc | def | ghi | jkl |
------------------------------
| 1234 | 5678 | 9876 | 4567 |
------------------------------
| abc | def | ghi | jkl |
------------------------------
etc.....
在 mongodb 中希望它们看起来像: MongoDB =>
> doc1: {
> col1["abc", "1234", "abc", .....],
> col2["def", "5678", "def", .....],
> col3["ghi", "9876", "ghi", .....],
> col4["jkl", "4567", "jkl", .....],
> etc.
我使用 php,我的代码如下所示:
$sql=mysql_query("select * from mytable") or die (mysql_error());
$count=mysql_num_rows($sql);
if (count > 0) {
while($data=mysql_fetch_row($sql)){
$mosql[]=$data;
}
$collection -> insert($mosql)
}
作为我得到的输出,它给出的是行而不是列:
doc1: { col1:[0:"abc", 1:"def", 2:"ghi", 3:"jkl".....], col2:[0:"1234", 1:"5678", 2:"9876", 3:"4567" .....], col3:[0:"abc", 1:"def", 2:"ghi", 3:"jkl".....], etc.
有人知道我做错了什么吗? 谢谢你的帮助!
最佳答案
您可能想要尝试循环遍历从 MySQL 返回的行数组,并将文档一个接一个地插入到 MongoDB 集合中,而不是一次插入整个数组。
关于php - mongodb:插入 mysql 列作为 mongodb 子文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15114713/