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实现的动态添加表单元素input,button等(appendChild)
Nov 24 Javascript
jQuery图片轮播的具体实现
Sep 11 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
Aug 27 Javascript
jQuery获取同级元素的简单代码
Jul 09 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
Sep 20 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
Jul 20 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
Oct 25 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
May 16 Javascript
vue2.0 下拉框默认标题设置方法
Aug 22 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
Feb 12 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
May 31 jQuery
Javascript柯里化实现原理及作用解析
Oct 22 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
如何冲泡挂耳包咖啡?技巧是什么
2021/03/04 冲泡冲煮
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
Laravel框架下载,安装及路由操作图文详解
2019/12/04 PHP
javascript中Object使用详解
2015/01/26 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
2019/04/11 Javascript
微信网页登录逻辑与实现方法
2019/04/29 Javascript
如何使用CSS3和JQuery easing 插件制作绚丽菜单
2019/06/18 jQuery
解决vue项目 build之后资源文件找不到的问题
2020/09/12 Javascript
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
一些Python中的二维数组的操作方法
2015/05/02 Python
Python使用xlrd模块操作Excel数据导入的方法
2015/05/26 Python
Python中字典的基础知识归纳小结
2015/08/19 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
分析python动态规划的递归、非递归实现
2018/03/04 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
使用python脚本自动创建pip.ini配置文件代码实例
2019/09/20 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
python实现翻译word表格小程序
2020/02/27 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
《植物妈妈有办法》教学反思
2014/02/25 职场文书
幼儿园中班开学寄语
2014/04/03 职场文书
年终考核实施方案
2014/05/26 职场文书
法定代表人身份证明书
2014/09/10 职场文书
2015年保送生自荐信
2015/03/24 职场文书
2015年大学生社会实践评语
2015/03/26 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书