使用mongoose写一个集合的规则
- 首先要设计数据结构
- 下面是newGoods.json里面的一条数据
{
"ID": "ff89cf2e14e143dc9e49ad75f7bc7bb0",
"GOODS_SERIAL_NUMBER": "6901844910651",
"SHOP_ID": "402880e860166f3c0160167897d60002",
"SUB_ID": "2c9f6c94609a62be0160a024fff1001d",
"GOOD_TYPE": 0,
"STATE": 0,
"IS_DELETE": 1,
"NAME": "味好美番茄沙司(特惠装)340gx2/份",
"ORI_PRICE": 15.5,
"PRESENT_PRICE": 9.9,
"AMOUNT": 10000,
"DETAIL": '<div>Hi Mongoose</div>',
"BRIEF": null,
"SALES_COUNT": 0,
"IMAGE1": "http://images.baixingliangfan.cn/shopGoodsImg/20180223/20180223091019_7384.jpg",
"IMAGE2": null,
"IMAGE3": null,
"IMAGE4": null,
"IMAGE5": null,
"ORIGIN_PLACE": null,
"GOOD_SCENT": null,
"CREATE_TIME": 1512208899918,
"UPDATE_TIME": 1519725197992,
"IS_RECOMMEND": 0,
"PICTURE_COMPERSS_PATH": "http://images.baixingliangfan.cn/compressedPic/20180223091019_7384.jpg"
}
- 1.导入mongoose
- 2.使用mongoose提供的Schema
- 3.设计的goodsSchema
- 4.暴露goodsSchema,供其他使用
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const goodsSchema = new Schema({
ID: { unique: true, type: String },
GOODS_SERIAL_NUMBER: String,
SHOP_ID: String,
SUB_ID: String,
GOOD_TYPE: Number,
STATE: Number,
NAME: String,
ORI_PRICE: Number,
PRESENT_PRICE: Number,
AMOUNT: Number,
DETAIL: String,
BRIEF: String,
SALES_COUNT: Number,
IMAGE1: String,
IMAGE2: String,
IMAGE3: String,
IMAGE4: String,
IMAGE5: String,
ORIGIN_PLACE: String,
GOOD_SCENT: String,
CREATE_TIME: String,
UPDATE_TIME: String,
IS_RECOMMEND: Number,
PICTURE_COMPRESS_PATH: String
}, {
collections: 'Goods'
})
// 将建立的规则发布到model上面
mongoose.model('Goods', goodsSchema);
附:
- 模块化
- 使用glob注册schema目录下,所有写好的集合规则
- 假设以下文件写在database/init.js中
const glob = require('glob');
const { resolve } = require('path');
exports.initSchemas = () =>{
glob.sync(resolve(__dirname, './schema', '**/*.js')).forEach(require);
}
const { initSchemas } = require('./database/init.js');
(async () =>{
initSchemas();
})