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 相关文章推荐
fromCharCode和charCodeAt 方法
Dec 27 Javascript
isArray()函数(JavaScript中对象类型判断的几种方法)
Nov 26 Javascript
鼠标滑过出现预览的大图提示效果
Feb 26 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
Aug 25 Javascript
详解Jquery的事件操作和文档操作
Dec 19 Javascript
无循环 JavaScript(map、reduce、filter和find)
Apr 08 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
Apr 18 Javascript
详解Vue用cmd创建项目
Feb 12 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
Apr 11 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
Aug 27 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
Apr 14 Javascript
Javascript使用integrity属性进行安全验证
Nov 07 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 Memcached + APC + 文件缓存封装实现代码
2010/03/11 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
Aptana调试javascript图解教程
2009/11/30 Javascript
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
js判断checkbox是否选中个数的方法(超简单)
2016/08/19 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
2018/04/27 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
在Django同1个页面中的多表单处理详解
2017/01/25 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
Python3结合Dlib实现人脸识别和剪切
2018/01/24 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
ubuntu上安装python的实例方法
2019/09/30 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
Python 限定函数参数的类型及默认值方式
2019/12/24 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
举例详解CSS3中的Transition
2015/07/15 HTML / CSS
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
Weblogic的布署方式
2013/08/23 面试题
一年级语文教学反思
2014/02/13 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
党员群众路线学习心得体会
2014/11/04 职场文书
2014年度个人总结范文
2015/03/09 职场文书
强烈推荐:小学生:暑假作息时间表(值得收藏)
2019/07/09 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python
mysql实现将字符串字段转为数字排序或比大小
2022/06/14 MySQL