我工作在一个web应用程序开发与MEAN堆栈,我需要存储文件在mongoDB没有调用GridFs,因为这稍后有弱文件,我做了很多研究,但我总是找到GridFS。存储文件在mongoDB withour GridFS
0
A
回答
1
MongoDB有一个Binary type。这是非常容易使用:
var fs = require('fs');
var mongo = require('mongodb');
var MongoClient = mongo.MongoClient;
var Binary = mongo.Binary;
// Connection url
var url = 'mongodb://localhost:27017/test';
// Connect using MongoClient
MongoClient.connect(url).then(function (db) {
var collection = db.collection('bins');
return collection.insert({
name: 'image2',
// the constructor takes a Buffer
bin: new Binary(fs.readFileSync(__dirname + '/img.jpg'))
}).then(function() {
console.log('inserted');
db.close();
}).catch(function (err) {
console.log(err);
});
});
检索存储的文件:
MongoClient.connect(url).then(function (db) {
var collection = db.collection('bins');
return collection.findOne({ name: 'image2' }).then(function (doc) {
console.log(doc);
fs.writeFileSync(__dirname + '/out.jpg', doc.bin.buffer);
db.close();
})
});
二进制类型的用法可能是隐含的。这将创建一个二进制领域也:
collection.insert({
name: 'image2',
bin: fs.readFileSync(__dirname + '/img.jpg')
})
请记住,MongoDB的文档有一个16MB total size limit。
相关问题
- 1. MongoDB GridFS存储桶?
- 2. 用于HA文件存储的MongoDB GridFS
- 3. 在MongoDB GridFS中存储图像
- 4. 使用Java&GridFs在MongoDB中存储和重试文件
- 5. MongoDB作为文件存储
- 6. 存储的文件直接与GridFS的流的mongodb
- 7. MongoDB GridFs与C#,如何存储文件,如图像?
- 8. 如何从使用gridFS存储的mongodb中读取mp3文件?
- 9. GridFS(MongoDB)的自定义存储系统?
- 10. MongoDB GridFS获取文件ID
- 11. 在GridFs(MongoDb)中创建文件
- 12. 从txt文件存储全文到mongodb
- 13. 存储图像:MongoDb vs文件系统
- 14. 查询MongoDB的GridFS的文件数据
- 15. 如何覆盖MongoDB Gridfs中的文件?
- 16. MongoDB GridFS PHP附加文本
- 17. 查询MongoDB GridFS?
- 18. MongoDB GridFS说明
- 19. MongoDB和GridFS
- 20. 使用Node.JS将文件保存到MongoDB GridFS
- 21. 上传后用ExpressJS将文件存储在Mongo的GridFS中
- 22. 如何更改MongoDB GridFS中的存储桶名称?
- 23. 在磁盘或MongoDB上存储文件
- 24. 在MongoDB数据库中存储和查看文件
- 25. MongoDB的GridFS的 - 它是文件名或文件名
- 26. WiredTiger,GridFS和Mongodb上传文件和最大文件大小
- 27. MongoDB的GridFS的存储多个尺寸或在飞行中调整
- 28. MongoDB BSON文件存储与MongoEngine可能吗?
- 29. pymongo(python + mongodb)drop collection/gridfs?
- 30. MongoDB更新GridFS记录
您可以将GridFS用于小文件的大文件和其他内容(直接嵌入到文档中?)。 – Thilo