首先创建数据库文件存放的目录,否则服务不能启动,我是放在了E:\mongodb\data\db然后进入mongodb的bin目录下,按住shift右键,在此处打开命令行,呼出cmdmongod--dbpath"E:\mongodb\data\db"--logpath"E:\mongodb\data\log\MongoDB.log"--install--serviceName"MongoDB"log的目录应该能自动创建,不能创建的话创建一下,这种是把mongodb作为win服务的形式,个人比较喜欢,设为手动服务后省的以后每次敲命令。
启动robomongo,给连接起个名字,其他的默认就能连接上,连上之后是这个样子的,下面那个是我后来建立的:好了,数据库的内容先告一段落。
开始写前后端啦,先下载Express,进到gitshell里npminstallexpress-g-g是将express安装到全局然后坑就来啦,之前创建express项目都是expressapp但是现在会报错,找不到命令,那是因为XXXX,解决方式就是再下载个插件npminstallexpress-generator-g然后就可以快乐的expressmedicine啦,medicine是我的项目名称然后就呼啦生成了一堆目录,最后会有提示,让你这个过程就是把项目用到的依赖项下载好,然后把端口和服务打开,于是再浏览器输入localhost:3000,以下就是刚生成的初始页面顺道把我的文件目录附上吧
extendslayoutblockcontent.container.h1炼药信息采集hr.h2请选择二药:.btn-groupbutton.btn.btn-default.two血色茶花button.btn.btn-default.two仙狐延button.btn.btn-default.two鹿茸button.btn.btn-default.two麝香p.btn-groupbutton.btn.btn-default.two火凤之睛button.btn.btn-default.two孔雀红button.btn.btn-default.two血珊瑚button.btn.btn-default.two凤凰尾hr.h2配方:p.btn-groupbutton.btn.btn-default.mat五龙丹1button.btn.btn-default.mat五龙丹2p.btn-groupbutton.btn.btn-default.mat五龙丹3button.btn.btn-default.mat五龙丹4hr.h2请选择三药及品质:pselect.form-control#threeoption金疮药option定神香option五龙丹option金香玉option九转还魂丹p.form-groupinput.form-control#quality(type='text',placeholder='输入品质')hrbutton.btn.btn-default#sub提交又是一个坑,之前也没用过bootstrap,下拉菜单和下拉选择框傻傻分不清楚,开始竟然写了个dropdown死活样式不对。写完基本的前端页面后,预览一下是这个样子的:前端页面就是结构(HTML)+样式(CSS)+行为(JavaScript)嘛,前两个搞定了,下面开始行为
想法是,定义一个四个元素的数组,点击上面8中原料的时候执行数组的尾插入,头抛掉,也就是只能放四个,然后在页面中显示出来,炼药完之后选择生成的三药,然后输入品质,然后点击提交通过ajax发送到后台这是change.js的内容
app.js中加上varchange=require('./routes/change');然后routers文件夹下的逻辑change.js
varexpress=require('express');varrouter=express.Router();varMedicine=require('./../models/Medicine.js');router.post('/',function(req,res,next){Medicine.save(req.body,function(err){if(err){res.send({'success':false,'err':err});}else{res.send({'success':true});}});});module.exports=router;Medicine.save这里是存数据的方法,后面说,他们说我这个req.body这样写不好,我暂时还不会其他的,先用着
创建一个文件夹models,新建连接数据库的文件mongodb.js
varmongoose=require('mongoose');mongoose.connect('mongodb://localhost/medicine');exports.mongoose=mongoose;medicine这个数据不存在的话会自动创建,所以数据库那边不用管
新增记录到数据库的方法在这里,网上找代码凑得,能用,后边再慢慢理解慢慢优化Medicine.js
varmongodb=require('./mongodb');varSchema=mongodb.mongoose.Schema;varMedicineSchema=newSchema({materias:Array,three:String,quality:Number,createDate:{type:Date,default:Date.now}});varMedicine=mongodb.mongoose.model('Medicine',MedicineSchema);varMedicineDAO=function(){};MedicineDAO.prototype.save=function(obj,callback){varinstance=newMedicine(obj);instance.save(function(err){callback(err);});};module.exports=newMedicineDAO();然后就大功告成喽~插入条数据试试,robo里能看到收工!
如果文中有对“广州网易计算机系统有限公司”侵权的行为,请联系我,立马删文。ifibercc@gmail.com