“MongoDB”的版本间的差异

来自Blueidea
跳转至: 导航搜索
Windows 中安装MongoDB
 
(未显示同一用户的4个中间版本)
第1行: 第1行:
<p style="background:#a00;color:#fff;">此页尚未完成,请改善。</p>
+
<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


推荐安装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

http://apptob.org/


前提:须安装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");