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 相关文章推荐
JS加ASP二级域名转向的代码
May 17 Javascript
jQuery学习基础知识小结
Nov 25 Javascript
鼠标滚轮控制网页横向移动实现思路
Mar 22 Javascript
MultiSelect左右选择控件的设计与实现介绍
Jun 08 Javascript
javascript判断机器是否联网的2种方法
Aug 09 Javascript
介绍JavaScript中Math.abs()方法的使用
Jun 14 Javascript
Javascript之Number对象介绍
Jun 07 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
Sep 24 Javascript
移动端界面的适配
Jan 11 Javascript
js 倒计时(高效率服务器时间同步)
Sep 12 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
Sep 03 Javascript
vue 解决computed修改data数据的问题
Nov 06 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
支持oicq头像的留言簿(一)
2006/10/09 PHP
php mysql索引问题
2008/06/07 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
Symfony学习十分钟入门经典教程
2016/02/03 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
浅谈JS原生Ajax,GET和POST
2016/06/08 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
a标签置灰不可点击的实现方法
2017/02/06 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
Python实现的爬取百度贴吧图片功能完整示例
2019/05/10 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
大学生最常用的自我评价
2013/12/07 职场文书
党课学习思想汇报
2014/01/02 职场文书
技术总监管理岗位职责
2014/03/09 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
优秀团员事迹材料1000字
2014/08/20 职场文书
校外活动方案
2014/08/28 职场文书
三提三创主题教育活动查摆整改措施
2014/10/25 职场文书
超市收银员岗位职责
2015/04/07 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
追悼会答谢词范文
2015/09/29 职场文书
导游经典开场白——导游词
2019/04/17 职场文书