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的loading效果实现代码
Nov 05 Javascript
jQuery中;function($,undefined) 前面的分号的用处
Dec 17 Javascript
通过隐藏iframe实现无刷新上传文件操作
Mar 16 Javascript
jQuery 实现评论等级好评差评特效
May 06 Javascript
Jquery on方法绑定事件后执行多次的解决方法
Jun 02 Javascript
AngularJS基础 ng-focus 指令简单示例
Aug 01 Javascript
BootStrap实现鼠标悬停下拉列表功能
Feb 17 Javascript
JavaScript实现的数字与字符串转换功能示例
Aug 23 Javascript
js+canvas实现验证码功能
Sep 21 Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
Aug 13 Javascript
微信小程序当前时间时段选择器插件使用方法详解
Dec 28 Javascript
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
教你如何使用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
基于mysql的论坛(1)
2006/10/09 PHP
关于php mvc开发模式的感想
2011/06/28 PHP
php创建sprite
2014/02/11 PHP
CI框架支持$_GET的两种实现方法
2016/05/18 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
jQuery插件jPaginate实现无刷新分页
2015/05/04 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
原生js实现日期选择插件
2020/05/21 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
python基础教程之循环介绍
2014/08/29 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
余弦相似性计算及python代码实现过程解析
2019/09/18 Python
Python函数参数分类原理详解
2020/05/28 Python
python中return不返回值的问题解析
2020/07/22 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
MYSQL基础面试题
2012/05/13 面试题
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
大学迎新生标语
2014/10/06 职场文书
2014年药房工作总结
2014/11/22 职场文书
致我们终将逝去的青春观后感
2015/06/10 职场文书
2015年教师节广播稿
2015/08/19 职场文书
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS