“MongoDB”的版本间的差异
来自Blueidea
(→添加一个示例) |
小 (→说明为什么在end时插入) |
||
第1行: | 第1行: | ||
− | <p style="background:#a00;color:#fff;"> | + | <p style="background:#a00;color:#fff;">此页尚待完成,或有瑕疵,请量力改善。</p> |
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 | MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 | ||
第38行: | 第38行: | ||
− | == | + | ==NodeJS中利用Mongoose操作MongoDB== |
前提:须安装Mongoose以便使用下方示例。 | 前提:须安装Mongoose以便使用下方示例。 | ||
第50行: | 第50行: | ||
http.createServer( | http.createServer( | ||
function (req, res) { | function (req, res) { | ||
+ | /* | ||
+ | * createServer方法需要一个回调函数,由于NodeJS基于事件驱动,因此回调函数会调用多次。 | ||
+ | * 这里选择在end事件中进行数据写入,当然这不是必须的。 | ||
+ | * http://nodejs.org/docs/latest/api/http.html#http.Server | ||
+ | */ | ||
req.on('end', function() { | req.on('end', function() { | ||
var Comments = new Schema({ | var Comments = new Schema({ |
2011-07-17T19:06:34的版本
此页尚待完成,或有瑕疵,请量力改善。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
Ubuntu中安装MongoDB
环境:Ubuntu 11.04
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
- sudo vim '/etc/apt/sources.list'
- 添加:deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
- sudo apt-get update
- sudo apt-get install mongodb-10gen
推荐安装Mongoose,这样nodeJS就能更加方便的操作数据库。
Install Mongoose
首先安装npm:https://github.com/isaacs/npm
然后:npm install mongoose
示例请看:http://www.csser.com/dev/469.html
Windows 环境中启动
首先在官网下载对应压缩包,解压到本地某个目录。
进入bin目录,执行:
mongod --logpath E:\log.txt --logappend --dbpath E:\data\db --serviceName MongoDB --install
目录按需要自行设置。需要注意的是,logpath参数需要指定一个文件,而不是目录。
而后,可以通过命令行 net start MongoDB 来启动服务。
NodeJS中利用Mongoose操作MongoDB
前提:须安装Mongoose以便使用下方示例。
var http = require('http'); var mongoose = require('mongoose'); var Schema = mongoose.Schema, ObjectId = Schema.ObjectId; mongoose.connect('mongodb://127.0.0.1:27017/test'); http.createServer( function (req, res) { /* * createServer方法需要一个回调函数,由于NodeJS基于事件驱动,因此回调函数会调用多次。 * 这里选择在end事件中进行数据写入,当然这不是必须的。 * http://nodejs.org/docs/latest/api/http.html#http.Server */ req.on('end', function() { var Comments = new Schema({ title : String, body : String, date : Date }); var BlogPost = new Schema({ author : ObjectId , title : String, body : String, date : Date, comments : [Comments] }); //创建模型 var BlogPost = mongoose.model('BlogPost', BlogPost); //根据模型产生一个实例 var post = new BlogPost(); //填充数据 post.title = "第一篇Blog"; post.body="Hello MongoDB!"; post.date=new Date(); //插入评论 post.comments.push({ title: '第一条回复' }); //Save post.save(function (err) { if (!err) console.log('保存成功!'); }); res.writeHead(200, {'Content-Type': 'text/html'}); res.end('<h1>Hello MongoDB\n</h1>'); }); }).listen(1337, "127.0.0.1");