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 浮动层菜单收藏
Jan 16 Javascript
基于jquery的修改当前TAB显示标题的代码
Dec 11 Javascript
将文本输入框内容加入表中的js代码
Aug 18 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
Mar 18 Javascript
AspNet中使用JQuery boxy插件的确认框
May 20 Javascript
基于insertBefore制作简单的循环插空效果
Sep 21 Javascript
js实现div模拟模态对话框展现URL内容
May 27 Javascript
Vue.js基础知识小结
Jan 13 Javascript
新手vue构建单页面应用实例代码
Sep 18 Javascript
js运算符的一些特殊用法
Jul 29 Javascript
在微信小程序里使用watch和computed的方法
Aug 02 Javascript
全面解析Vue中的$nextTick
Dec 24 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读取和编写XML DOM的实现代码
2011/02/03 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
php制作的简单验证码识别代码
2016/01/26 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
asp.net HttpHandler实现图片防盗链
2009/11/09 Javascript
javascript options属性集合操作代码
2009/12/28 Javascript
IE6/7/8中Option元素未设value时Select将获取空字符串
2011/04/07 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
three.js 入门案例详解
2018/01/23 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
vue + element-ui的分页问题实现
2018/12/17 Javascript
JavaScript实现预览本地上传图片功能完整示例
2019/03/08 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
python测试mysql写入性能完整实例
2018/01/18 Python
Python自定义线程类简单示例
2018/03/23 Python
python try except 捕获所有异常的实例
2018/10/18 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
Python3内置模块random随机方法小结
2019/07/13 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
Python并发爬虫常用实现方法解析
2020/11/19 Python
python爬取代理ip的示例
2020/12/18 Python
python反扒机制的5种解决方法
2021/02/06 Python
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
Shell如何接收变量输入
2016/08/06 面试题
教师竞聘演讲稿
2014/05/16 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL