“MongoDB”的版本间的差异
来自Blueidea
小 (→Windows 中安装MongoDB) |
|||
(未显示同一用户的4个中间版本) | |||
第1行: | 第1行: | ||
− | <p style="background:#a00;color:#fff;"> | + | <p style="background:#a00;color:#fff;">此页尚待完成,或有瑕疵,请量力改善。</p> |
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 | MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 | ||
第13行: | 第13行: | ||
*sudo apt-get install mongodb-10gen | *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 | ||
第26行: | 第36行: | ||
而后,可以通过命令行 net start MongoDB 来启动服务。 | 而后,可以通过命令行 net start MongoDB 来启动服务。 | ||
+ | |||
+ | |||
+ | ==NodeJS中利用Mongoose操作MongoDB== | ||
+ | |||
+ | ==Install NodeJS== | ||
+ | |||
+ | http://apptob.org/ | ||
+ | |||
+ | |||
+ | 前提:须安装Mongoose以便使用下方示例。 | ||
+ | |||
+ | 参考了来自 http://www.csser.com/ 的文章。 | ||
+ | |||
+ | <source lang="bash"> | ||
+ | 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"); | ||
+ | </source> |
2011-09-29T09:05:22的最后版本
此页尚待完成,或有瑕疵,请量力改善。
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
Install NodeJS
前提:须安装Mongoose以便使用下方示例。
参考了来自 http://www.csser.com/ 的文章。
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");