JSON

让JSON数据直接入库MongoDB(2)

字号+ 作者:H5之家 来源:H5之家 2016-04-08 16:00 我要评论( )

{" name ": "未来警察" ," alias ": [ "Future X-Cops " , "Mei loi ging chaat" ] ," publish ": "2010-04-29" ," images ": {" coverBig ": "/img/movie/1_big.jpg" ," coverSmall ": "/img/movie/1_small.jpg" }

{ "name": "未来警察", "alias": ["Future X-Cops ","Mei loi ging chaat"], "publish": "2010-04-29", "images":{ "coverBig":"/img/movie/1_big.jpg", "coverSmall":"/img/movie/1_small.jpg" }, "source":[{ "source":"优酷", "link":"http://www.youku.com", "swfLink":"http://player.youku.com/player.php/sid/XMTY4NzM5ODc2/v.swf", "quality":"高清", "version":"正片", "lang":"汉语", "subtitle":"中文字幕" },{ "source":"搜狐", "link":"http://tv.sohu.com", "swfLink":"http://share.vrs.sohu.com/75837/v.swf&topBar=1&autoplay=false&plid=3860&pub_catecode=", "quality":"高清", "version":"正片", "lang":"汉语", "subtitle":"中文字幕" }] }

在public/javascripts/目录,增加jquery.json-2.4.js类库

> > > > </body> </html>

在public/javascripts/目录,增加movie.js文件,作为前端脚本

$(function() { var mdata={}; var url = '/javascripts/movie.json'; $.getJSON(url, function(data) { mdata=data; render_editor_form(mdata); render_event_form(mdata); }); var render_editor_form=function(data){ $('#c_editor').val($.toJSON(data)); }; var render_event_form=function(){ $('#c_save').on('click',function(event){ var data = {}; data['content'] = mdata; $.ajax({ type: "POST", url: '/movie/add', data: data, success: (data.success){ $('#msg').html('成功保存!'); $('#msg').addClass('alert alert-success'); $(location).attr('href','/movie/'+mdata.name); } else { $('#msg').html(data.err); $('#msg').addClass('alert alert-error'); } } }); }); }; });

修改views/footer.html,增加movie.js文件引用,同时增加jquery.json包

> > > > </body> </html>

网页效果::3000/movie/add

在models/Movie.js,增加save方法

MovieDAO.prototype.save = function(obj, callback) { var instance = new Movie(obj); instance.save(function(err){ callback(err); }); };

在routes/movie.js,调用save方法

exports.doMovieAdd = function(req, res) { console.log(req.body.content); var json = req.body.content; if(json._id){//update } else {//insert Movie.save(json, function(err){ if(err) { res.send({'success':false,'err':err}); } else { res.send({'success':true}); } }); } };

控制台日志

Express server listening on port 3000 { name: '未来警察', alias: [ 'Future X-Cops ', 'Mei loi ging chaat' ], publish: '2010-04-29', images: { coverBig: '/img/movie/1_big.jpg', coverSmall: '/img/movie/1_small.jpg' }, source: [ { source: '优酷', link: 'http://www.youku.com', swfLink: 'http://player.youku.com/player.php/sid/XMTY4NzM5ODc2/v.swf', quality: '高清', version: '正片', lang: '汉语', subtitle: '中文字幕' }, { source: '搜狐', link: 'http://tv.sohu.com', swfLink: 'http://share.vrs.sohu.com/75837/v.swf&topBar=1&autoplay=false&plid=3860&pub_ca quality: '高清', version: '正片', lang: '汉语', subtitle: '中文字幕' } ] } POST /movie/add 200 57ms - 21b

数据已插入MongoDB

4. 查询数据,取出刚增加的记录

models/Movie.js,增加findByName方法

MovieDAO.prototype.findByName = function(name, callback) { Movie.findOne({name:name}, function(err, obj){ callback(err, obj); }); };

routes/movies.js,增加movieJSON

exports.movieJSON = function(req, res) { Movie.findByName(req.params.name,function(err, obj){ res.send(obj); }); }

前端javascripts/movie.js,从/movie/json/xxx处取数据

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • SpringMVC @RequestBody接收Json对象字符串

    SpringMVC @RequestBody接收Json对象字符串

    2016-04-11 18:05

  • C++ Builder 里面使用 JsonCpp 和 JsonCpp 支持 UNICODE (UTF

    C++ Builder 里面使用 JsonCpp 和 JsonCpp 支持 UNICODE (UTF

    2016-04-08 15:00

  • VS2013新建MVC5项目,使用nuget更新项目引用后发生Newtonsoft.Json引用冲突的解决办法

    VS2013新建MVC5项目,使用nuget更新项目引用后发生Newtonsoft.Json引

    2016-04-07 14:04

  • 【springmvc学习笔记(18)

    【springmvc学习笔记(18)

    2016-04-06 17:01

网友点评
u