问题标签 [gridfs-stream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
182 浏览

mongodb - MongoDB/Mongoose - 如何使用 GridFS 扩展数据存储?

如何使用 GridFS 存储数据?

我已将数据内容存储在文档中,如下所示:

架构:

示例流:

如您所见,罐内的数据data会一直持续下去并最终超过限制 - 16MB。

那么,如何data使用 GridFS 扩展数据呢?这可能吗?

我正在使用猫鼬来存储和读取数据。有几个 GridFS 包可以与 mongoo、gridfs-stream和mongoose -gridfs 一起使用,但我只是不知道如何将它们与我现有的代码集成。

这就是我将数据注入该data字段的方式:

有什么想法可以将 mongoose-gridfs 或 gridfs-stream 与上面的代码集成吗?

0 投票
1 回答
600 浏览

node.js - writestream 的关闭或完成事件未触发 gridfs

我正在尝试使用 mongoose 和 GridFS 将文件写入 MongoDB。但是,gridfs writestream 不会触发任何事件 - 关闭或完成。此外,它甚至不会触发“错误事件”(以防万一有任何错误)。我的 nodejs 版本是 4.4.5 。代码如下:

0 投票
0 回答
382 浏览

node.js - 如何连接到数据库:猫鼬?

下面是我的代码:文件夹和文件名是:gridFs/storeAudio.js。代码在storeAudio.js

现在在gridFs文件内的 cmd 中,我正在运行命令node storeAudio.js来创建包含集合的数据库。但是下面的屏幕截图中显示了以下错误: 在此处输入图像描述

注意:我之前运行过以下命令:npm install gridfs-stream, npm install mongoose.

如果需要更多输入,请告诉我。

0 投票
1 回答
1786 浏览

mongodb - 如何使用 GRIDFS 从 mongoDB 中的 fs.chunks 中删除文档

使用上面的代码,我可以从 fs.files 集合中删除文档。但它并没有从 fs.chunks 集合中移动。如何从集合 fs.files 和 fs.chunks 中删除文档。

0 投票
0 回答
608 浏览

node.js - 从 Mongodb 发送多个文件以使用 gridFs 查看

代码可以发送一个图像文件来查看,但是当我想发送多个文件时,它会给出错误:

错误:发送后无法设置标头。

所以; 如何使代码发送所有图像以查看?一件一件,还是一件一件?

附言。splice 的原因是,forEach 推送第一项,第一和第二,第一和第二和第三等:

0 投票
1 回答
794 浏览

node.js - 节点 res.write 调用 res.end() 之前的所有数据

尝试写入所有文件然后结束响应,但它以某种方式调用 res.end 在所有写入完成之前。我如何修复它,完成所有的写作,然后调用 res.end()?

错误消息 atm:错误:结束后写入

0 投票
0 回答
374 浏览

node.js - 使用gridfs存储桶通过heroku将文件上传到Mongodb不起作用

当我尝试将带有 heroku 的文件上传到数据库时,它将无法正常工作。

如果我用 localhost 做它确实有效。

任何人都知道为什么当我尝试将文件上传到 heroku 时没有处理我的文件?有人知道修复吗?我对 Heroku 有点陌生,因为我在日志中没有错误,所以我不知道出了什么问题。

以下是我的代码:

正如您在我的代码中看到的,我创建了一个新视频,我通过我的元数据链接到该视频。它确实创建了一个新的 Video 模型,但它没有创建一个新的 ctFiles.files 对象。

0 投票
0 回答
435 浏览

javascript - 如何使用 GridFS 在客户端返回大型 base64 图像?

我在 MongoDB 上使用 GridFS 存储图像,我想在客户端显示这些图像。该代码适用于小图像,但是当我想显示大于 5 Mo 的图像时,我在客户端没有返回。

结果控制器.js:

GridFileService.js:

api.js:

路由文件.js:

如何快速返回大图像的缓冲区?

0 投票
0 回答
503 浏览

node.js - 使用 FeathersJs 使用 Mongoose/G​​ridFS 存储文件

使用 FeathersJS 构建 REST API 我需要能够上传图片(POST),如果感谢 GridFS 进行记录,并且以后能够获取它。

我开始使用 Mongoose 设置 GridFS:

然后添加我的/pub服务:

pub.service.js

pub.hook.js

然后我收到一条错误消息:

MongoError:ID为###的文件未打开以进行写入

其中### 是文件名而不是_id

0 投票
0 回答
326 浏览

mongodb - 从 GridFS 在我的 HTML 中显示图像

我已经检查了这篇文章这篇文章,但它们不起作用。我使用gridfs-locking-stream成功地将 .png 图像存储在 mongodb 中,并检索了该图片。

这是执行db.fs.files.find().pretty()命令 后数据库的样子:数据库 我编写了一个名为sendFileToView的函数,以便可以多次使用它。该函数接收图片的id并返回readStream

我在我的路由器中使用这个功能,如下所示:

现在在我的客户端我有这项服务。该服务有一个简单地返回 $resource 的函数,以便我可以在我的控制器中使用它:

最后,这就是我尝试在我的 html 页面中显示图像的方式:

在 HTML 中:

如您所见,我正在控制台中打印响应以查看它的外观。这就是我得到的: 控制台输出

输出看起来很奇怪,问题是图片没有显示在视图中。我已经工作了好几个星期了。如果你帮助我会好吗?