如何将一些文件保存到猫鼬中? 例如我有一个路线POST
方法/
和GET
方法/
。 过帐到/
应将发送的文件保存到MongoDB数据库(猫鼬),并获得/
应发送保存的文件。如果文件是一个图像我如何将它作为图像发送给客户端? (从用户保存原始文件是否是一个好习惯,或者我应该将它们保存在mongodb中 - 如果是这样的话:如何?)。保存文件并将它们发送到客户端(NodeJS/Express/MongoDB/Mongoose)
0
A
回答
2
首先很明显,您应该有针对您的mongoDB
的架构。 你可以把它在SCHEMA.js
文件是这样的:
module.exports = {
model: function(Schema) {
return new Schema({
_id: { type: String, index: true, unique: true },
updateDate: { type: Date, default: Date.now },
data: String
})
}
}
,那么你必须为你的要求,你可以如下操作:
router.post('/', function(req, res){
var data = req.body.data;
SCHEMA = require('/YOUR/SCHEMA/PATH').SCHEMA;
SCHEMA.update({
_id: data.id
}, {
data: data
}, {
upsert: true
}, function (err) {
if (err) {console.error('subs-on-userapps> failed update token, err=',err);}
});
})
在上面的部分,你得到的数据格式要求,然后将其插入到你mongoDB。
** .update
首先在第一部分搜索你的数据并用upsert:true
选项插入数据如果以前不存在的话。
对于有权访问你的数据,你有其他的途径与方法Get
如此:
router.get('/', function(req, res){
SCHEMA.findOne({QUERY})
.execQ()
.then(function(result) {
res.json({result: result})
});
})
+0
这并不是我所需要知道的...我知道如何处理请求或创建模式,我只需要知道如何存储用户使用文件输入发送的文件,并将它们作为原始文件而不是字符串数据发回。 –
+1
有关存储此类二进制数据的详细信息,请参阅[GridFs](https://docs.mongodb.org/manual/reference/gridfs/)文档。 –
相关问题
- 1. 将Excel文件发送到客户端
- 2. 将XML文件发送到客户端
- 3. 从Web服务器获取数据并将它们发送到客户端C++
- 4. WCF将事件发送到客户端
- 5. 喷发送xls文件到客户端
- 6. Node.js发送文件到客户端
- 7. ASP C#发送文件到客户端
- 8. 从客户端发送文件到客户端通过HTTP
- 9. Grails:编辑(form:multipart)文件(从客户端)并将其发送回客户端
- 10. 服务器如何保存客户端发送的文件?
- 11. 如何将文件从客户端发送到服务器并使用相同的文件名进行保存?
- 12. Java RMI - 将客户端存根发送给其他客户端
- 13. 从Google Drive下载文件并通过Google Drive python客户端将文件作为HttpResponse发送到客户端
- 14. 将文件发送到客户端时发生Tricky NullPointerException
- 15. 是什么触发servletResponse将它发送到客户端的数据/文件
- 16. 从客户端发送文件到Kloudless保护程序
- 17. 发送文件给客户端并将其删除
- 18. Servlet从服务器发送图像并保存在客户端
- 19. TCP读取文件并发送到java中的客户端
- 20. akka-http。生成文件并发送到客户端
- 21. 在客户端创建文件并发送到服务器
- 22. phpexcel将qrcode插入到excel并将其保存到客户端
- 23. 我们可以将PDF文件从AngularJS客户端发送到NodeJS服务器
- 24. ESP8266:将client.remoteIP()发送到客户端
- 25. 当发送到客户端
- 26. 借鉴的JPanel并将它们传播到多个客户端
- 27. 客户端发送信息到服务器并保存到数据库
- 28. 创建错误条件并将它们传回给客户端
- 29. Web服务器如何将文件发送到客户端
- 30. 将文件从php服务器发送到Android客户端
如果可能的话,我建议你只在磁盘上存储的图像,而不是将其保存到数据库中,这是相当少麻烦。 –
我认为这不是一个好主意保存原始图像 –
任何这是为什么? –