Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP将CSV数据导入mongoDB_Php_Mongodb_Csv - Fatal编程技术网

如何使用PHP将CSV数据导入mongoDB

如何使用PHP将CSV数据导入mongoDB,php,mongodb,csv,Php,Mongodb,Csv,我有一个包含如下数据的CSV文件: cn,mail,telephonenumber,uid admin,,, "Isaac Newton",newton@ldap.forumsys.com,,newton "Albert Einstein",einstein@ldap.forumsys.com,314-159-2653,einstein { "_id" : ObjectId("52c10f355b9e5cf00200014d

我有一个包含如下数据的CSV文件:

cn,mail,telephonenumber,uid
admin,,,
"Isaac Newton",newton@ldap.forumsys.com,,newton
"Albert Einstein",einstein@ldap.forumsys.com,314-159-2653,einstein
{ "_id" : ObjectId("52c10f355b9e5cf00200014d"), "Name" : "admin", "Email" : "Null", "Phone Number" : "Null", "User ID" : "Null" }
{ "_id" : ObjectId("52c10f355b9e5cf00200014d"), "Name" : "Isaac Newton", "Email" : "newton@ldap.forumsys.com", "Phone Number" : "Null", "User ID" : "newton" }
{ "_id" : ObjectId("52c10f355b9e5cf00200014d"), "Name" : "Albert Einstein", "Email" : "einstein@ldap.forumsys.com", "Phone Number" : "314-159-2653", "User ID" : "einstein" }
我希望在mongodb中,我的数据如下所示:

cn,mail,telephonenumber,uid
admin,,,
"Isaac Newton",newton@ldap.forumsys.com,,newton
"Albert Einstein",einstein@ldap.forumsys.com,314-159-2653,einstein
{ "_id" : ObjectId("52c10f355b9e5cf00200014d"), "Name" : "admin", "Email" : "Null", "Phone Number" : "Null", "User ID" : "Null" }
{ "_id" : ObjectId("52c10f355b9e5cf00200014d"), "Name" : "Isaac Newton", "Email" : "newton@ldap.forumsys.com", "Phone Number" : "Null", "User ID" : "newton" }
{ "_id" : ObjectId("52c10f355b9e5cf00200014d"), "Name" : "Albert Einstein", "Email" : "einstein@ldap.forumsys.com", "Phone Number" : "314-159-2653", "User ID" : "einstein" }
对于所有的空字段,它们也可能不存在,但希望说明缺少字段

我在这个论坛上找到了唯一的信息,但是使用了不推荐使用的mongo PHP驱动程序文档

但是,我编写了一些代码来插入单个文档

<?php
require 'vendor/autoload.php';

$mongo_location = "mongodb://localhost:27017";
$mongo = new MongoDB\Driver\Manager($mongo_location);
echo "Connected to ".$mongo_location;
  $bulk = new MongoDB\Driver\BulkWrite;

  $doc = array(
      'id'      => new MongoDB\BSON\ObjectID,     #Generate MongoID
      'name'    => 'harry',
      'age'     => 14,
      'roll_no' => 1
  );

  $bulk->insert($doc);
  $mongo->executeBulkWrite('schooldb.student', $bulk);    # 'schooldb' is database and 'student' is collection.
?>


正如您所看到的,现在连接mongodb的方式不同了。

这里有一个解决方案:

  • 使用Composer安装CSV到JSON包,如下所示:
  • composer需要ozdemirburak/json csv

  • 将students.csv文件放在项目的根目录下。内容:
  • 将students.php文件放在项目的根目录下。内容:
  • 
    
  • 在Web浏览器中打开students.php。检查MongoDB

  • 你面临的确切问题是什么?您是在解析该文件还是在插入数据?