【问题标题】:How to create GridFS collection?如何创建 GridFS 集合?
【发布时间】:2013-09-15 03:01:06
【问题描述】:

到目前为止,我已经阅读了许多有关 MongoDB 的文档,并且有兴趣创建一个 GridFS 集合来存储文件。我已经创建了可以处理存储在 MySQL(blob 数据类型)中的文件的 PHP 脚本,并且它正在工作。但是我现在需要使用 GridFS。 PHP Driver 文件把我弄糊涂了。

注意:让我感到困惑的一点是 - 他们没有告诉如何创建“块”集合。没有指导方针。如果是这样,那么我怎么能期望驱动程序能够自动从“文件”集合中读取文件?

谁能给我指出一个解释了如何创建的页面?或者可以帮助我理解 GridFS 集合的语言驱动程序的“期望”?

问候 毗婆娑

【问题讨论】:

  • MongoDB 中没有“创建集合”操作。您可以将文档插入到不存在的集合中,从而创建集合。大多数驱动程序会自动执行此操作,并且它们还会创建相关索引。你试过什么?有代码吗?
  • 是的,我知道。但这些系列的规格正是我想要的。

标签: php mongodb gridfs


【解决方案1】:

查看 PHP 文档,我找到了以下关于如何在 GridFS 集合中存储数据的手册:PHP GridFS Manual。我对 PHP 没有任何具体知识,但在 Java 中我执行以下操作:

GridFS gridFS = new GridFS(<DB_NAME>, <GRID_FS_COLLECTION>);
GridFSInputFile inputFile = gridFS.createFile(<BINARY_DATA>);
inputFile.put("documentName", "nameOfTheFile");
inputFile.put("extension", "txt");
inputFile.save();

查看 PHP 手册,这将与 PHP 中的内容类似:

<?php
   $grid = $db->getGridFS();
   $grid->storeBytes($bytes, array("documentName" => "nameOfTheFile", "extension" => "txt"));
?>

手册中的示例还展示了一种无需先获取字节字符串即可直接存储文件的方法。

【讨论】:

  • 感谢 SterAllures。我不在 Java 上工作。这就是 PHP 的方法让我感到困惑的地方。我想我将不得不通过“试错法”。
猜你喜欢
  • 2023-03-09
  • 2014-07-17
  • 1970-01-01
  • 2017-02-17
  • 2010-12-28
  • 2016-04-26
  • 2011-04-23
  • 2012-10-03
  • 1970-01-01
相关资源
最近更新 更多