Mongoose使用案例.docx
《Mongoose使用案例.docx》由会员分享,可在线阅读,更多相关《Mongoose使用案例.docx(10页珍藏版)》请在冰点文库上搜索。
![Mongoose使用案例.docx](https://file1.bingdoc.com/fileroot1/2023-5/11/8aed58a5-d81b-4a72-bfc0-367d07d319e0/8aed58a5-d81b-4a72-bfc0-367d07d319e01.gif)
Mongoose使用案例
Mongoose使用案例–让JSON数据直接入库MongoDB
从零开始nodejs系列文章
从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发。
Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎。
chrome浏览器就基于V8,同时打开20-30个网页都很流畅。
Nodejs标准的web开发框架Express,可以帮助我们迅速建立web站点,比起PHP的开发效率更高,而且学习曲线更低。
非常适合小型网站,个性化网站,我们自己的Geek网站!
!
文章目录
配置Mongoose
创建目录及文件
插入数据,POST提交JSON增加一条记录
查询数据,取出刚增加的记录
1.配置Mongoose
增加mongoose的类库
cdd:
/workspace/project/nodejs-demo
npminstallmongoose
D:
\workspace\project\nodejs-demo\node_modules\mongoose\node_modules\mongodb\node_modu
C:
\ProgramFiles(x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.InvalidPlatform.Targe
e_modules\mongodb\node_modules\bson\build\bson.vcxproj]
mongoose@3.6.10node_modules\mongoose
├──muri@0.3.1
├──hooks@0.2.1
├──sliced@0.0.3
├──mpath@0.1.1
├──ms@0.1.0
├──mpromise@0.2.1(sliced@0.0.4)
└──mongodb@1.3.3(kerberos@0.0.2,bson@0.1.8)
安装时,有64位兼容性错误提示没关系,Mongoose类库安装完成。
增加models目录
mkdirmodels
在models目录,增加mongodb.js文件
varmongoose=require('mongoose');
mongoose.connect('mongodb:
//localhost/nodejs');
exports.mongoose=mongoose;
指定Mongo的数据库名为nodejs
2.创建目录及文件
在models目录,增加数据模型Movie.js
varmongodb=require('./mongodb');
varSchema=mongodb.mongoose.Schema;
varMovieSchema=newSchema({
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}
}]
});
varMovie=mongodb.mongoose.model("Movie",MovieSchema);
varMovieDAO=function(){};
module.exports=newMovieDAO();
指定Mongo的数据库集为Movie
数据类型,包括了String,Date,Array,Mixed]
打开app.js增加访问路径
varexpress=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
varMovie=require('./../models/Movie.js');
exports.movieAdd=function(req,res){
if(req.params.name){//update
returnres.render('movie',{
title:
req.params.name+'|电影|管理|moive.me',
label:
'编辑电影:
'+req.params.name,
movie:
req.params.name
});
}else{
returnres.render('movie',{
title:
'新增加|电影|管理|moive.me',
label:
'新增加电影',
movie:
false
});
}
};
exports.doMovieAdd=function(req,res){
res.send({'success':
true});
};
在views目录,增加movie.html
<%includeheader.html%>