想像下面这样批量导入json数据,问题:1.数据量大,一个一个save或insert不切实际,2.放到一个json文件夹里用import只能放在数组里合并成一个嵌套数据,嵌套数据对后期搜索造成极大不便
先把mongoose模型文件allproducts.js写出:
连接数据库的db.js文件就不展示了
var mongoose=require(’./db.js’);
//操作对象scheam
var AllProductSchema=mongoose.Schema(
{“tradeItemId”:String,
“itemType”:Number,
“img”:String,
“iid”:String,
“clientUrl”:String,
“promotion_taglist”:[],
“link”:String,
“itemMarks”:String,
“acm”:String,
“price_taglist”:[],
“title”:String,
“type”:Number,
“cparam”:String,
“orgPrice”:Number,
“props”:Array,
“hasSimilarity”:Boolean,
“useTitle”:Boolean,
“lefttop_taglist”:[],
“cfav”:Number,
“price”:Number,
“leftbottom_taglist”:Array,
“similarityUrl”:String,
“officialRmdDesc”:String
}
)
//定义数据库模型 操作数据库
module.exports=mongoose.model(‘AllProduct’,AllProductSchema,‘allproducts’);
再建立一个存储所有数据的文件allproductlist.js
const allproductlist=[{“tradeItemId”:“1mbuvxq”,“itemType”:7,…]
module.exports=allproductlist;
注意把数据放在一个数组中!!
再写一个添加数据库的文件addsearch.js
var AllProductModel=require(’./model/allproducts.js’);
const AllProductList=require(’./model/allproductlist.js’);
//增加数据到shop集合
//首先实例化model
var s;
//定义一个增加商铺列表的函数
function AddProductList(AllProductList){
AllProductList.map(item=>{
//实例化数据对象
s=new AllProductModel(item);
//保存数据
s.save(function(err){
if(err){
console.log(err);
return;
}
console.log('增加数据成功');
})
})
}
//调用上述定义的函数
AddProductList(AllProductList);.
运行node addsearch.js
c
出现一连串的增加数据成功说明就添加成功了,
回头到可视化窗口查看,添加成功!!