1.在schema文件夹中创建schema.js用来放数组的框架
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
//创建Schema
var itemSchema = new Schema({ //数组主要的属性
barcode:String,
name:String,
unit:String,
price:String,
type:String,
});
module.exports = itemSchema;
2.新建Models文件夹,在文件夹下创建item.js,用来修饰Modelvar mongoose = require('../config/mongoose');
var db = mongoose();
var itemSchema = require('../schema/schemas');
var Item = db.model('Item',itemSchema);
module.exports = Item;
3.index.js里添加var allItems = [{type:'饮料',name:"可口可乐",price:"3",unit:"瓶",barcode:"ITEM00001"}, //主要数据
{type:'饮料',name:"雪碧",price:"3",unit:"瓶",barcode:"ITEM00002"},
{type:'水果',name:"苹果",price:"5.5",unit:"斤",barcode:"ITEM00004"},
{type:'水果',name:"荔枝",price:"15",unit:"斤",barcode:"ITEM00004"},
{type:'生活用品',name:"电池",price:"2",unit:"个",barcode:"ITEM00005"},
{type:'食品',name:"方便面",price:"4.5",unit:"袋",barcode:"ITEM00006"}];
for (var i=0;i<allItems.length;i++){
new Item(allItems[i]).save(function(err,c){
console.log(err)
console.log(c)
})
}
4.运行终端cd cartList && npm start
可以看到数据加载成功,然后将index.js里的数据注掉,禁止二次传入数据
5.仔细一看name:苹果的barcode重复错误,我用mongo进行了删除数据
db.items.remove({"name":"苹果"})
6.数据获取
首先在index.js 处加入数据获取的命令
router.get('/allItem', function(req,res){
Item.find({},function(err,doc){
res.json(doc);
});
});
7.修改之前存放数组的地方,设置连接用ajax
window.onload = function(){
$.ajax({
type:'Get',
url:"/allItems",
success:function(data){
console.log(data);
var tp1=document.getElementById('tp1').innerHTML;
document.getElementById("shopping_list_info").innerHTML = template(tp1,{list:data});
}
});
}
8.运行终端看效果。