使用mongoose从file.json导入数据

使用mongoose从file.json导入数据,json,node.js,mongodb,express,mongoose,Json,Node.js,Mongodb,Express,Mongoose,我需要使用mongoose从许多json文件导入数据,但我似乎找不到如何导入。 现在我只是使用mongoDB命令导入文件: mongoimport --db dbName --collection collectionName --file fileName.json --jsonArray 有没有办法对付猫鼬?使用猫鼬(我使用的是expressJs)是正确的方法吗?如果不是,用json文件中的数据填充数据库的正确方法是什么 这就是我到目前为止在server.js中所做的 /设置 var e

我需要使用mongoose从许多json文件导入数据,但我似乎找不到如何导入。 现在我只是使用mongoDB命令导入文件:

mongoimport --db dbName --collection collectionName --file fileName.json --jsonArray
有没有办法对付猫鼬?使用猫鼬(我使用的是expressJs)是正确的方法吗?如果不是,用json文件中的数据填充数据库的正确方法是什么

这就是我到目前为止在server.js中所做的

/设置
var express=需要(“express”);
var app=express();//创建我们的应用程序w/express
var mongoose=require('mongoose');//猫鼬
var ObjectId=require('mongodb')。ObjectId;//目标
var morgan=要求('morgan');//将请求记录到控制台(express4)
var bodyParser=require('body-parser');//从HTML帖子中提取信息(express4)
var methodOverride=require('method-override');//模拟删除和放置(express4)
var cors=要求(“cors”);
//配置
猫鼬mongodb://localhost/data');
应用程序使用(morgan(‘dev’);//将每个请求记录到控制台
app.use(bodyParser.urlencoded({'extended':'true'}));//解析应用程序/x-www-form-urlencoded
app.use(bodyParser.json());//解析应用程序/json
use(bodyParser.json({type:'application/vnd.api+json'}));//将application/vnd.api+json解析为json
使用(methodOverride());
应用程序使用(cors());
应用程序使用(功能(请求、恢复、下一步){
res.header(“访问控制允许原点”、“*”);
res.header('Access-Control-Allow-Methods','DELETE,PUT');
res.header(“访问控制允许头”、“来源、X请求、内容类型、接受”);
next();
});
//模型
var Review=mongoose.model('Review'{
标题:字符串,
描述:字符串,
评级:数字
});
var Site=mongoose.model('Site'{
标题:字符串,
描述:字符串,
评级:数字
});
//路线
//获得评论
app.get('/api/reviews',函数(req,res){
日志(“获取评论”);
//使用mongoose获取数据库中的所有评论
查看。查找(功能(错误,查看){
//如果检索时出错,请发送错误。res.send(err)之后不会执行任何操作
如果(错误)
res.send(err)
res.json(评论);//以json格式返回所有评论
});

});我也遇到了同样的问题,使用mongoimport会绕过模式,使模式类型检查和验证无效。因此,对于单个json对象,我所做的工作很好。我计划扩展它以处理整个json文件。因此,我有一个POST请求,它通过模式向mongoDB添加数据。我制作了一个curl脚本来发出相同的post请求,并对模式进行了检查。这是我的卷曲脚本

curl \
--header "Content-type: application/json" \
--request POST \
--data @data.json \
http://localhost:3000/supplierList
我在data.json文件中有一个json对象。下面是它的样子

{
    "supplierName": "KINGCOBRA",
    "price": "12345678911234567.00000000000000001",
    "basicDate": "2045/03/23",
    "currency": "USD",
    "partName": "ASDF",
    "description": "First Object: TEST 1: POST Inserting an array of object through the script",
    "volume": 2334
}

这种方法唯一的问题是它不支持json数组的插入,但不管对象大小如何,它都适用于单个对象。如果有人找到解决办法,请告诉我

只需在shell脚本中创建一个循环。当已经存在执行该功能的工具时,自己编写一些东西来解析和插入JSON源代码有点多余。这不是一项非常困难的任务,但除非你确实做了很多次,否则“做对”可能会很困难。你也不太可能在表演中击败对手
mongoimport
和其他工具都是使用Go以相当低的级别编写的,并且在它们所做的事情上并不懒散。我明白了,所以没有其他方法。非常感谢。你能写下这篇文章作为回答吗?这样我就可以结束这篇文章了。这并不是说“没有别的办法”。根本不值得花时间去写一个已经存在的程序,它实际上比你可能要写的任何东西都做得更好。所以这只是一个合乎逻辑的选择。好吧,我将保留这个选项,以防出现更好的解决方案。好的开始,我们现在只需要找到一种json数组的方法