码迷,mamicode.com
首页 > 数据库 > 详细

NodeJS连接MongoDB和mongoose

时间:2019-08-06 19:40:31      阅读:470      评论:0      收藏:0      [点我收藏+]

标签:nbsp   new   cal   mod   ESS   成功   zha   文件   OLE   

1. 连接MongoDB(两种方法,我们常用第二种方法)

第一步:新建一个文件夹,然后在node中运行npm init,npm i mongodb@2 -D,安装好之后,文件夹下会出来package.json文件,然后会出来node_modules文件夹,注意!!!!在这里一定要在mongodb后面加上版本号@2,这样就会自动安装第二版的最新更新,不然会安装失败。

第二步:在package.json文件下添加"dev": "node index",然后新建一个index.js文件,在index.js中写入代码

方法一:

var mongodb=require(‘mongodb‘);//引用mongodb模块
var server=new mongodb.Server(‘localhost‘,27017,{auto_reconnect:true});//端口号
var db=new mongodb.Db(‘zz1906‘,server,{safe:true});

db.open((err,dbs)=>{
//    dbs==zz1906
    if(err) throw err;
    dbs.collection(‘info‘,(err,coll)=>{
//        coll==info
        if(err) throw err;
        
//        console.log(coll.find())
        coll.find().toArray((err,data)=>{
            if(err) throw err;
            console.log(data)
            dbs.close()
        })
    })
})

方法二:

var mongodb=require(‘mongodb‘).MongoClient;
var db_str="mongodb://localhost:27017/zz1906";
mongodb.connect(db_str,(err,dbs)=>{
    //dbs==zz1906
    if(err) throw err;
    dbs.collection(‘info‘,(err,coll)=>{
        //coll==info
        
        // if(err) throw err;//打印出来会有很多代码冗余
        // console.log(coll.find())
        // dbs.close()
        
        
        if(err) throw err;
        coll.find().toArray((err,data)=>{//查(减少了很多冗余代码)
            if(err) throw err;
            console.log(data);
            dbs.close()
        })
        coll.insert({title:‘战狼‘},()=>{//
            console.log(‘success‘);
            dbs.close();
        })
        coll.remove({title:‘吴京‘},()=>{//
            console.log(‘success‘);
            dbs.close();
            
        })
        coll.update({name:"zhangsan"},{$set:{name:‘张三‘}},()=>{//
            console.log(‘success‘);
            dbs.close();
            
        })
        
        
    })
})

2. 连接mongooes

安装mongooes,在node中输入npm i mongoose --save-dev, index.js中输入代码

var mongoose=require(‘mongoose‘);
var db_str="mongodb://localhost:27017/zz1906";
mongoose.connect(db_str)
mongoose.connection.on(‘connected‘,()=>{
    console.log(‘连接成功‘)
})
mongoose.connection.on(‘error‘,()=>{
    console.log(‘error‘)
})
mongoose.connection.on(‘disconnected‘,()=>{
    console.log(‘断开连接‘)
})

var schema=new mongoose.Schema({
    name:{type:String,require:true},
    content:{type:String,require:true}
})

var Cat=new mongoose.model(‘info‘,schema)
// Cat.find({},(err,data)=>{//查询
//     if(err) throw err;
//     console.log(data)
//     mongoose.disconnect()
// })
// Cat.create({name:‘小明‘,content:‘helloworld‘},()=>{//增
//     console.log(‘success‘)
//     mongoose.disconnect()
// })
// Cat.update({name:‘小明‘},{$set:{content:‘hi‘}},()=>{//改
//     console.log(‘success‘)
//     mongoose.disconnect()
// })
// Cat.remove({name:‘小明‘},()=>{//删
//     console.log(‘success‘);
//     mongoose.disconnect()
// })

3. 也可以运用软件robo3t来对数据库进行操作

NodeJS连接MongoDB和mongoose

标签:nbsp   new   cal   mod   ESS   成功   zha   文件   OLE   

原文地址:https://www.cnblogs.com/zhouying1208/p/11311135.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!