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 相关文章推荐
window.showModalDialog使用手册
Jan 11 Javascript
javascript操作cookie的文章(设置,删除cookies)
Apr 01 Javascript
js函数的引用, 关于内存的开销
Sep 17 Javascript
js识别不同浏览器基于userAgent做判断
Jul 29 Javascript
gridview生成时如何去掉style属性中的border-collapse
Sep 30 Javascript
AngularJS创建自定义指令的方法详解
Nov 03 Javascript
基于bootstrap的文件上传控件bootstrap fileinput
Dec 23 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
Mar 04 Javascript
浅谈Node 异步IO和事件循环
May 05 Javascript
layui table去掉右侧滑动条的实现方法
Sep 05 Javascript
JavaScript Array对象使用方法解析
Sep 24 Javascript
vue实现图片上传预览功能
Dec 23 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计数器的实现代码
2013/06/08 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
javascript 继承实现方法
2009/08/26 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
异步动态加载js与css文件的js代码
2013/09/15 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
JS实现的简单图片切换功能示例【测试可用】
2017/02/14 Javascript
Vue指令的钩子函数使用方法
2017/03/20 Javascript
js实现移动端轮播图效果
2020/12/09 Javascript
webpack引入eslint配置详解
2018/01/22 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
利用JS响应式修改vue实现页面的input值
2019/09/02 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
[02:28]PWL开团时刻DAY3——Ink Ice与DeMonsTer之间的勾心斗角
2020/11/03 DOTA
举例区分Python中的浅复制与深复制
2015/07/02 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
2016/05/24 Python
一步步教你用python的scrapy编写一个爬虫
2019/04/17 Python
python 使用socket传输图片视频等文件的实现方式
2019/08/07 Python
opencv实现简单人脸识别
2021/02/19 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
python实现从ftp服务器下载文件
2020/03/03 Python
捷克领先的户外服装及配件市场零售商:ALPINE PRO
2018/01/09 全球购物
留学自荐信的技巧
2013/10/17 职场文书
小学语文教学反思
2014/02/10 职场文书
机电一体化毕业生自荐信
2014/06/19 职场文书
土建施工员岗位职责
2014/07/16 职场文书
挂靠协议书
2015/01/27 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
《模拟人生4》推出新补丁 “婚礼奇缘”DLC终于得到修复
2022/04/03 其他游戏