nodejs利用gridfs存文档到mongo中
来源:互联网 发布:淘宝腔调入口 编辑:程序博客网 时间:2024/06/11 15:55
最近开发一个web是用nodejs开发的,有个上传文档的功能
mongo链接端
首先npm install下载需要的模块
mongo中fs.files中有字段filesname,metadata,利用metadata作为文档的分类
var mongoose = require('mongoose');var conn = mongoose.createConnection('mongodb://127.0.0.1:27017/NodeJS');var fs = require('fs');var Grid = require('gridfs-stream');Grid.mongo = mongoose.mongo;var gfs = Grid(conn.db);var path = require('path');var util = require('util');var urlencode = require('urlencode');var mongooseSchema = new mongoose.Schema({ filename: String, metadata: String, aliases: String}, {collection: "fs.files", versionKey: ""});var getFile = conn.model('getFile', mongooseSchema);var fileUpload = {};//根据metadata列出存mongo里的filenamefileUpload.findAllFiles = function (httpId, callback) { getFile.find({metadata: httpId}, {"filename": '1'}, function (err, docs) { if (err) { callback(err); } else { callback(null, docs); } })};//将文档存到mongo中fileUpload.loadToMongo = function (name,httpId,callback) { var writestream = gfs.createWriteStream({ filename: name, metadata:httpId }); fs.createReadStream(files).pipe(writestream); writestream.on('close', function (file) { });};//通过filename从mongo中将文档下载到磁盘中fileUpload.readFile = function (dir, name, callback) { var fs_write_stream = fs.createWriteStream("documents/" + dir + "/" + name); var readstream = gfs.createReadStream({ filename: name }); readstream.pipe(fs_write_stream); fs_write_stream.on('close', function () { callback(null); });};
1 0
- nodejs利用gridfs存文档到mongo中
- 读写mongo GridFs中的文件
- mongo shell 之 GridFS 文件系统
- 解析XML文档,并把数据存到数据库中
- Java从入门到精通——数据库篇Mongo DB GridFS文件系统
- Mongo:笔记三(固定集合 GridFS)
- nodejs+mongoskin操作mongo
- nodejs连接mongo数据库
- 利用jxl包从sqlserver数据库中读取数据存到Excel中
- 把输出内容存到TXT文档
- java利用过滤器重写request将session存到couchbase中实现共享
- Bitmap 存到文件中
- 【文档】nginx-gridfs安装学习文档
- Springmvc与Mongo GridFs 实现文件的上传和获取
- mongo-java-driver -3.2.2学习笔记-07-GridFs
- mongo中对数组节点中的文档的筛选
- MongoDB_Java连接mongo 在集合中插入文档
- MongoDB_Java连接mongo 使用Java从集合中删除文档
- Host key verification failed.
- TI_BLE软件开发者指导9-GAP
- 【日常SQL】存款统计表增加记录检查分劈比例问题
- Yii 利用query联表查询
- 获取scrollTop兼容各浏览器的方法,以及body和documentElement是啥?
- nodejs利用gridfs存文档到mongo中
- ajax的基本概念及其使用(5步)
- 性能测试中的测试模型设计(图)
- 使用postman进行带header的post请求
- 【BZOJ 3207】花神的嘲讽计划Ⅰ 主席树e
- android 读取excel POI JXL
- STM32中断数据回调函数接收处理
- 【总结】PHP常见面试题汇总(三)
- DRAMSim2学习3——模拟器架构()