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脚本类
Aug 27 Javascript
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
May 27 Javascript
JS this作用域以及GET传输值过长的问题解决方法
Aug 06 Javascript
jsp网页搜索结果中实现选中一行使其高亮
Feb 17 Javascript
jQuery中width()方法用法实例
Dec 24 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
Jan 18 Javascript
node.js缺少mysql模块运行报错的解决方法
Nov 13 Javascript
浅谈webpack下的AOP式无侵入注入
Nov 12 Javascript
微信小程序使用swiper组件实现类3D轮播图
Aug 29 Javascript
JS数据类型STRING使用实例解析
Dec 18 Javascript
angular组件间传值测试的方法详解
May 07 Javascript
实现一个Vue自定义指令懒加载的方法示例
Jun 04 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
oracle资料库函式库
2006/10/09 PHP
分享PHP入门的学习方法
2007/01/02 PHP
php在服务器执行exec命令失败的解决方法
2012/03/03 PHP
PHP执行批量mysql语句的解决方法
2013/05/02 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
php正则表达式基本知识与应用详解【经典教程】
2017/04/17 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
一个基于jquery的图片切换效果
2010/07/06 Javascript
JavaScript EasyPager 分页函数
2011/05/25 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
angularJs在多个控制器中共享服务数据的方法
2018/09/30 Javascript
python中尾递归用法实例详解
2015/04/28 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
Django 框架模型操作入门教程
2019/11/05 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
python 基于Apscheduler实现定时任务
2020/12/15 Python
美国维生素、补充剂、保健食品购物网站:Vitacost
2016/08/05 全球购物
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
Solaris操作系统的线程机制
2012/12/23 面试题
机械制造与自动化应届生求职信
2013/11/16 职场文书
致铅球运动员加油稿
2014/02/13 职场文书
毕业生个人自荐书
2015/03/05 职场文书
公安机关起诉意见书
2015/05/20 职场文书
爱的教育读书笔记
2015/06/26 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书
Python集合set()使用的方法详解
2022/03/18 Python
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技
Windows Server 2008配置防火墙策略详解
2022/06/28 Servers