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+HTML5基于过滤器从摄像头中捕获视频的方法
Jun 16 Javascript
jQuery实现的文字hover颜色渐变效果实例
Feb 20 Javascript
BootStrap智能表单demo示例详解
Jun 13 Javascript
jQuery拖拽通过八个点改变div大小
Nov 29 Javascript
node.js + socket.io 实现点对点随机匹配聊天
Jun 30 Javascript
JavaScript中正则表达式判断匹配规则及常用方法
Aug 03 Javascript
js获取文件里面的所有文件名(实例)
Oct 17 Javascript
从零开始搭建vue移动端项目到上线的步骤
Oct 15 Javascript
Vue实现表格批量审核功能实例代码
May 28 Javascript
小程序中的箭头函数的具体使用
Jun 19 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
Jul 22 Javascript
Vue使用Ref跨层级获取组件的步骤
Jan 25 Vue.js
教你如何使用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通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
PHP 数据结构 算法 三元组 Triplet
2011/07/02 PHP
PHP5常用函数列表(分享)
2013/06/07 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
PHP实现获取文件后缀名的几种常用方法
2015/08/08 PHP
Javascript计算时间差的函数分享
2011/07/04 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
js获取视频时长代码
2014/04/10 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
jQuery菜单插件用法实例
2015/07/25 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
JavaScript中的prototype原型学习指南
2016/05/09 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
在localStorage中存储对象数组并读取的方法
2016/09/24 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
使用python实现链表操作
2018/01/26 Python
python如何为被装饰的函数保留元数据
2018/03/21 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
python3.X 抓取火车票信息【修正版】
2018/06/19 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
详解Java中一维、二维数组在内存中的结构
2021/02/11 Python
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
路政管理专业个人自荐信范文
2013/11/30 职场文书
高中军训广播稿
2014/01/14 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
不要在HTML中滥用div
2021/05/08 HTML / CSS
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技