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异步加载无限下拉框级联功能实现示例
Feb 19 Javascript
js中top的作用深入剖析
Mar 04 Javascript
jquery自动将form表单封装成json的具体实现
Mar 17 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
Dec 04 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
Feb 10 Javascript
jQuery常见面试题之DOM操作详析
Jul 05 jQuery
浅谈React中组件间抽象
Jan 27 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
Mar 15 Javascript
jquery.pagination.js分页使用教程
Oct 23 jQuery
开源一个微信小程序仪表盘组件过程解析
Jul 30 Javascript
JavaScript的Set数据结构详解
Feb 18 Javascript
React如何使用axios请求数据并把数据渲染到组件
Aug 05 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
从wamp到xampp的升级之路
2015/04/08 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
分享PHP守护进程类
2015/12/30 PHP
PHP Cookie学习笔记
2016/08/23 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
javascript function、指针及内置对象
2009/02/19 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
element-ui 关于获取select 的label值方法
2018/08/24 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
2019/03/01 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
2019/11/20 Javascript
python采用getopt解析命令行输入参数实例
2014/09/30 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
python django model联合主键的例子
2019/08/06 Python
基于Python爬取股票数据过程详解
2020/10/21 Python
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
Linux如何为某个操作添加别名
2015/02/05 面试题
一套比较完整的软件测试人员面试题
2012/05/13 面试题
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
金融行业务员的自我评价
2013/12/13 职场文书
会计系个人求职信范文分享
2013/12/20 职场文书
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
医院学雷锋活动策划方案
2014/02/15 职场文书
离婚纠纷代理词
2015/05/23 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫