node.js操作mongoDB数据库示例分享


Posted in Javascript onNovember 26, 2014

连接数据库

 var mongo=require("mongodb");

 var host="localhost";

 var port=mongo.Connection.DEFAULT_PORT;

 var server=new mongo.Server(host,port,{auto_reconnect:true});//创建数据库所在的服务器服务器

 var db=new mongo.Db("node-mongo-examples",server,{safe:true});//创建数据库对象

 db.open(function (err,db) {//连接数据库

     if(err)

         throw err;

     else{

         console.log("成功建立数据库连接");

         db.close();

     }

 });

 db.on("close", function (err,db) {//关闭数据库

     if(err) throw err;

     else console.log("成功关闭数据库.");

 });

插入数据:

插入数据后,在控制台中输出数据文档的内容

 var mongo=require("mongodb");

 var host="localhost";

 var port=mongo.Connection.DEFAULT_PORT;

 var server=new mongo.Server(host,port,{auto_reconnect:true});//创建数据库所在的服务器服务器

 var db=new mongo.Db("node-mongo-examples",server,{safe:true});//创建数据库对象

 db.open(function (err,db) {//连接数据库

     if(err)

         throw err;

     else{

         db.collection("users", function (err,collection) {

             collection.insert({username:"盼盼",firstname:"李"}, function (err,docs) {

                 console.log(docs);

                 db.close();

             });

         });        

     }

 });

 db.on("close", function (err,db) {//关闭数据库

     if(err) throw err;

     else console.log("成功关闭数据库.");

 });

关闭数据库db.close([forceClose],[callback]);

forceClose为true时,强制关闭该数据库,当数据库关闭后,不可再使用open开启数据库.

forceClose为false时,不强制关闭数据库,当数据库关闭后,可以再使用open打开.

当foreClose为true时:

 var mongo=require("mongodb");

 var host="localhost";

 var port=mongo.Connection.DEFAULT_PORT;

 var server=new mongo.Server(host,port,{auto_reconnect:true});//创建数据库所在的服务器服务器

 var db=new mongo.Db("node-mongo-examples",server,{safe:true});//创建数据库对象

 db.open(function (err,db) {//连接数据库

     if(err)

         throw err;

     else{

         db.collection("users", function (err,collection) {

             collection.insert({username:"盼盼",firstname:"李"}, function (err,docs) {

                 console.log(docs);

                 db.close(false);

             });

         });

     }

 });

 db.once("close", function (err,db) {//关闭数据库

     if(err) throw err;

     else {

         db.open(function (err,db) {

             db.collection("users", function (err,collection) {

                 collection.insert({username:"三",firstname:"张"}, function (err,docs) {

                     if(err) throw  err;

                     else{

                         console.log(docs);

                         db.close(true);

                     }

                 })

             });

         });

     }

 });

//读取数据

var mongo=require("mongodb");

var host="localhost";

var port=mongo.Connection.DEFAULT_PORT;

var server=mongo.Server(host,port,{auto_reconnect:true});

var db=new mongo.Db("node-mongo-examples",server,{safe:true});

db.open(function (err,db) {

    db.collection("users", function (err,collection) {

        if(err) throw err;

        else{

            collection.find({}).toArray(function(err,docs){

                if(err) throw  err;

                else{

                    console.log(docs);

                    db.close();

                }

            });

        }

    });

});

//带查询条件的搜索

var mongo=require("mongodb");

var host="localhost";

var port=mongo.Connection.DEFAULT_PORT;

var server=mongo.Server(host,port,{auto_reconnect:true});

var db=new mongo.Db("node-mongo-examples",server,{safe:true});

db.open(function (err,db) {

    db.collection("users", function (err,collection) {

        if(err) throw err;

        else{

            collection.find({username:{$in:["延思","三"]}}).toArray(function(err,docs){

                if(err) throw  err;

                else{

                    console.log(docs);

                    db.close();

                }

            });

        }

    });

});

//插入一批数据,并且进行搜索type==food且price字段值小于10

var mongo=require("mongodb");

var host="localhost";

var port=mongo.Connection.DEFAULT_PORT;

var server=mongo.Server(host,port,{auto_reconnect:true});

var db=new mongo.Db("node-mongo-examples",server,{safe:true});

var docs=[

    {type:"food",price:11},

    {type:"food",price:10},

    {type:"food",price:9},

    {type:"food",price:8},

    {type:"book",price:9}

];

db.open(function (err,db) {

    db.collection("goods", function (err,collection) {

        if(err) throw err;

        else{

            collection.insert(docs, function (err,docs) {

                if(err) throw  err;

                else{

                    collection.find({type:"food",price:{$lt:10}}).toArray(

                        function(err,docs){

                            if(err) throw err;

                            else{

                                console.log(docs);

                                db.close();

                            }

                        }

                    );

                }

            })

        }

    });

});

查询中的或的表达:

collection.find({$or:[

{type:"food"},


{price:{$lt:10}}

]})

有关node.js操作mongoDB数据库的讲解,今天就先到这里了,基本上常用的操作都有了示例,复杂些的,小伙伴们自由发挥吧,有机会我们再来继续讲解。

Javascript 相关文章推荐
jQuery实现加入购物车飞入动画效果
Mar 14 Javascript
JavaScript面向对象的实现方法小结
Apr 14 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
Sep 09 Javascript
JS模拟按钮点击功能的方法
Dec 22 Javascript
json定义及jquery操作json的方法
Sep 29 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
Dec 12 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
Aug 14 Javascript
JavaScript编写的网页小游戏,很给力
Aug 18 Javascript
vue实现导航栏效果(选中状态刷新不消失)
Dec 13 Javascript
详解vue中localStorage的使用方法
Nov 22 Javascript
移动端手指操控左右滑动的菜单
Sep 08 Javascript
Vue前端判断数据对象是否为空的实例
Sep 02 Javascript
教你如何使用node.js制作代理服务器
Nov 26 #Javascript
浅析node.js中close事件
Nov 26 #Javascript
node.js超时timeout详解
Nov 26 #Javascript
node.js+Ajax实现获取HTTP服务器返回数据
Nov 26 #Javascript
使用node.js 获取客户端信息代码分享
Nov 26 #Javascript
node+express+jade制作简单网站指南
Nov 26 #Javascript
JS简单操作select和dropdownlist实例
Nov 26 #Javascript
You might like
『PHP』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
php实现读取超大文件的方法
2014/07/28 PHP
PHP输出一个等腰三角形的方法
2015/05/12 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
2016/09/21 PHP
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
在JavaScript中对HTML进行反转义详解
2016/05/18 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
javascript回调函数详解
2018/02/06 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
Python完全新手教程
2007/02/08 Python
python每隔N秒运行指定函数的方法
2015/03/16 Python
Python自动重试HTTP连接装饰器
2015/04/28 Python
python 字典(dict)按键和值排序
2016/06/28 Python
Python内置模块turtle绘图详解
2017/12/09 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
python 判断矩阵中每行非零个数的方法
2019/01/26 Python
python简单贪吃蛇开发
2019/01/28 Python
Python numpy线性代数用法实例解析
2019/11/15 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
工作自我评价分享
2013/12/01 职场文书
病人家属写给医院的感谢信
2015/01/23 职场文书
小学教代会开幕词
2016/03/04 职场文书
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python