时间:2021-05-25
前言
Nodejs基于Javascript,MongoDB脚步同样也是基于Javascript。而且他们的数据存储格式都是JSON,这就是为什么要把他们放在一起的原因了。如果程序前后端能直接处理JSON,我想数据处理过程又可以极大的减化了,代码量又将低少1/5。多么的兴奋啊!让我们来动手验证一下想法吧。
本文重点介绍web前端通过JQuery发起POST提交JSON数据,通过Mongoose直接插入或更新到MongoDB。
工程目录沿用nodejs-demo,增加/mongoose路径及对应文件。
文章目录
1. 配置Mongoose
增加mongoose的类库
安装时,有64位兼容性错误提示没关系,Mongoose类库安装完成。
增加models目录
mkdir models
在models目录,增加mongodb.js文件
var mongoose = require('mongoose');mongoose.connect('mongodb://localhost/nodejs');exports.mongoose = mongoose;指定Mongo的数据库名为nodejs
2.创建目录及文件
在models目录,增加数据模型Movie.js
var mongodb = require('./mongodb');var Schema = mongodb.mongoose.Schema;var MovieSchema = new Schema({name : String,alias : [String],publish : Date,create_date : { type: Date, default: Date.now},images :{coverSmall:String,coverBig:String,},source :[{source:String,link:String,swfLink:String,quality:String,version:String,lang:String,subtitle:String,create_date : { type: Date, default: Date.now }}]});var Movie = mongodb.mongoose.model("Movie", MovieSchema);var MovieDAO = function(){};module.exports = new MovieDAO();指定Mongo的数据库集为Movie
数据类型,包括了String,Date,Array,Mixed]
打开app.js增加访问路径
var express = require('express'), routes = require('./routes'), user = require('./routes/user'), movie = require('./routes/movie'), http = require('http'), path = require('path'), ejs = require('ejs'), SessionStore = require("session-mongoose")(express);...app.get('/movie/add',movie.movieAdd);//增加app.post('/movie/add',movie.doMovieAdd);//提交app.get('/movie/:name',movie.movieAdd);//编辑查询app.get('/movie/json/:name',movie.movieJSON);//JSON数据在routes目录,增加movie.js
var Movie = require('./../models/Movie.js');exports.movieAdd = function(req, res) {if(req.params.name){//updatereturn res.render('movie', {title:req.params.name+'|电影|管理|moive.me',label:'编辑电影:'+req.params.name,movie:req.params.name});} else {return res.render('movie',{title:'新增加|电影|管理|moive.me',label:'新增加电影',movie:false});}};exports.doMovieAdd = function(req, res) {res.send({'success':true});};在views目录,增加movie.html
<% include header.html %><div class="container-fluid"><div class="row-fluid"><div class="span8"><form><fieldset><legend><%=label%></legend><textarea id="c_editor" name="c_editor" class="span12" rows="10"></textarea><button id="c_save" type="button" class="btn btn-primary">保存</button></fieldset><form></div></div></div><% include footer.html %>网页效果:http://localhost:3000/movie/add
3. 插入数据,POST提交JSON增加一条记录
基础环境,都搭建好后,我们开台准备向mongodb中插入数据。
首先创建一个json数据文件,这样我们可以方便点,直接读入这个文件,创建JSON数据对象了。
在public/javascripts/目录,增加movie.json文件
{"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:///bsspirit/nodejs-demo本地下载:http://xiazai.jb51.net/201705/yuanma/nodejs-demo(jb51.net).rar
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Python实现的直接插入排序算法。分享给大家供大家参考,具体如下:#-*-coding:utf-8-*-'''直接插入的python实现时间复杂
直接插入排序importjava.util.HashMap;publicclassInsertSort{privatestaticintcontrastCoun
本文总结了一下常用的7种排序方法,并用php语言实现。1、直接插入排序/**直接插入排序,插入排序的思想是:当前插入位置之前的元素有序,*若插入当前位置的元素比
如何利用mongoose将数据写入mongodb数据库?1.利用npm下载安装mongoose;npminstallmongoose2.建立js文件,引入mon
本文内容会根据博主所需进行更新,希望大家多多关照。直接插入排序voidInsertSort(intr[]){intn=sizeof(r)/sizeof(r[0]