将csv文件内容从AngularJS传递到Node.js,并在Node.js中解析以插入MongoDB的步骤如下:
下面是一个示例代码:
在AngularJS中:
// 通过文件上传组件或HTTP请求发送csv文件到Node.js后端
$scope.uploadFile = function() {
var file = $scope.myFile;
var uploadUrl = '/upload'; // 后端路由
var fd = new FormData();
fd.append('file', file);
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
}).then(function(response) {
console.log('文件上传成功');
}, function(error) {
console.log('文件上传失败');
});
};
在Node.js中:
const express = require('express');
const multer = require('multer');
const csv = require('csv-parser');
const fs = require('fs');
const mongoose = require('mongoose');
const app = express();
const upload = multer({ dest: 'tmp/' });
// 连接到MongoDB数据库
mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true });
// 定义数据模型
const dataSchema = new mongoose.Schema({
// 定义数据结构
});
const Data = mongoose.model('Data', dataSchema);
// 处理文件上传
app.post('/upload', upload.single('file'), function(req, res) {
const file = req.file;
// 读取csv文件并解析
fs.createReadStream(file.path)
.pipe(csv())
.on('data', function(row) {
// 处理每一行数据
// 创建数据对象并保存到MongoDB
const data = new Data(row);
data.save();
})
.on('end', function() {
// 解析完成后删除临时文件
fs.unlinkSync(file.path);
res.send('文件上传成功');
});
});
app.listen(3000, function() {
console.log('服务器已启动');
});
请注意,上述代码只是一个示例,需要根据实际情况进行适当修改和完善。另外,为了使代码更加健壮和安全,还应该添加错误处理和数据验证等功能。
平时有个习惯,会把自己的笔记写在有道云里面,现在做个整理。会长期更新,因为我是BUG制造机。
解析
xpath提取所有节点文本
上朱雀,
老牛在当中,龙头在胸口。
领取专属 10元无门槛券
手把手带您无忧上云