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 相关文章推荐
JavaScript表单常用验证集合
Jan 16 Javascript
BOM与DOM的区别分析
Oct 26 Javascript
用JQUERY增删元素的代码
Feb 14 Javascript
使用jQuery重置(reset)表单的方法
May 05 Javascript
javascript基本类型详解
Nov 28 Javascript
最简单的tab切换实例代码
May 13 Javascript
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
Mar 21 jQuery
JavaScript适配器模式详解
Oct 19 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
Dec 28 Javascript
微信小程序显示倒计时功能示例【测试可用】
Dec 03 Javascript
vue中axios的二次封装实例讲解
Oct 14 Javascript
node.js 如何监视文件变化
Sep 01 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 zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
php strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
PHP嵌套输出缓冲代码实例
2015/05/12 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
PHP加密解密类实例代码
2016/07/20 PHP
JS 常用校验函数
2009/03/26 Javascript
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
js定时器(执行一次、重复执行)
2014/03/07 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
js友好的时间返回函数
2016/08/24 Javascript
微信小程序 弹窗自定义实例代码
2017/03/08 Javascript
纯js实现画一棵树的示例
2017/09/05 Javascript
nodejs 如何手动实现服务器
2018/08/20 NodeJs
彻底弄懂 JavaScript 执行机制
2018/10/23 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
Python实现备份MySQL数据库的方法示例
2018/01/11 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
Python 互换字典的键值对实例
2019/02/12 Python
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
40岁生日感言
2014/02/15 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
建设投标担保书
2014/05/13 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
三年级学生期末评语
2014/12/26 职场文书
社区重阳节活动总结
2015/03/24 职场文书
毕业实习单位意见
2015/06/04 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js