nodejs中使用mongodb

MongoDB 拥有 NoSQL 的普遍特色,不用预先定义 Schema,所有的 database 和 collection(相当于传统 RDBMS 的 Table),都会在新增数据后,自动被建立,我们只要专注于使用 NodeJS 操作数据库即可。

1、首先要在项目中安装mongodb,安装命令是:

npm install mongodb

2、server.js

/**
 * Created by Administrator on 2016/7/16.
 */

var  mongodb = require('mongodb');
var  server  = new mongodb.Server('localhost', 27017, {auto_reconnect:true});//服务器与mongodb相连
var  db = new mongodb.Db('mydb', server, {safe:true});//在mongodb中创建数据库mydb

//连接db
db.open(function(err, db){
    if(!err){
        console.log('connect db');
        // 连接Collection(可以认为是mysql的table)
        // 第1种连接方式
        // db.collection('mycoll',{safe:true}, function(err, collection){
        //     if(err){
        //         console.log(err);
        //     }
        // });
        // 第2种连接方式
        db.createCollection('mycoll', {safe:true}, function(err, collection){
            if(err){
                console.log(err);
            }else{
                //新增数据
                // var tmp1 = {id:'1',title:'hello',number:1};
                //          collection.insert(tmp1,{safe:true},function(err, result){
                //              console.log(result);
                //          });
                //更新数据
                // collection.update({title:'hello'}, {$set:{number:3}}, {safe:true}, function(err, result){
                //     console.log(result);
                // });
                // 删除数据
                // collection.remove({title:'hello'},{safe:true},function(err,result){
                //                   console.log(result);
                //               });

                // console.log(collection);
                // 查询数据
                var tmp1 = {title:'hello'};
                var tmp2 = {title:'world'};
                collection.insert([tmp1,tmp2],{safe:true},function(err,result){
                    console.log(result);
                });
                collection.find().toArray(function(err,docs){
                    console.log('find');
                    console.log(docs);
                });
                collection.findOne(function(err,doc){
                    console.log('findOne');
                    console.log(doc);
                });
            }

        });
        // console.log('delete ...');
        // //删除Collection
        // db.dropCollection('mycoll',{safe:true},function(err,result){

        //           if(err){

        //         console.log('err:');
        //         console.log(err);
        //     }else{
        //         console.log('ok:');
        //         console.log(result);
        //     }
        //       });
    }else{
        console.log(err);
    }
});

node server.js之后显示:
这里写图片描述


其实操作mongodb最好用mongoose:
参考;http://www.cnblogs.com/aaronjs/p/4489354.html
Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用。

使用mongoose操作mongodb一般流程(保存数据):
1、引入mongoose:

var mongoose=require("mongoose");

2、通过Schema创建一个模式
3、通过模式创建一个模型
4、通过模型写入数据
5、通过save方法保存
例子:

var Schema = mongoose.Schema;
//骨架模版
var movieSchema = new Schema({
    doctor   : String,
    title    : String,
    language : String,
    country  : String,
    year     : Number,
    summary  : String,
    poster   : String,
    flash    : String
})
//模型
var Movie = mongoose.model('Movie', movieSchema);
//存储数据
var moive = new Movie({
    title: '黑衣人三',
    doctor: '史密斯',
    year: 2018,
    flash: 'http://player.youku.com/player.php/sid/XNjA1Njc0NTUy/v.swf',
    country: '美国',
    language: '英语',
    summary: '好片'
})
//保存数据库
moive.save(function(err) {
    if (err) {
        console.log('保存失败')
        return;
    }
    console.log('meow');
});

**注意的一点:**schema模式和模型不能同名,否则会失败

2、更新、删除数据见参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值