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 利用className得到对象的实现代码
Nov 15 Javascript
JavaScript设置表单上传时文件个数的方法
Aug 11 Javascript
vue.js入门教程之基础语法小结
Sep 01 Javascript
JS获取多维数组中相同键的值实现方法示例
Jan 06 Javascript
jQuery插件autocomplete使用详解
Feb 04 Javascript
AngularJS实现路由实例
Feb 12 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
Nov 02 Javascript
vue form check 表单验证的实现代码
Dec 09 Javascript
vue-i18n结合Element-ui的配置方法
May 20 Javascript
layui中的switch开关实现方法
Sep 03 Javascript
vue+elementui 实现新增和修改共用一个弹框的完整代码
Jun 08 Vue.js
React四级菜单的实现
Apr 08 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中time(),date(),mktime()区别介绍
2013/09/28 PHP
PHP中的流(streams)浅析
2015/07/02 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
JQuery 学习笔记 选择器之六
2009/07/23 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
2014/04/08 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
javascript数据结构之双链表插入排序实例详解
2015/11/25 Javascript
javascript实现简易计算器的代码
2016/05/31 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
详细分析jsonp的原理和实现方式
2017/11/20 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
vue 解决文本框被键盘遮住的问题
2019/11/06 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
python实现自动重启本程序的方法
2015/07/09 Python
21行Python代码实现拼写检查器
2016/01/25 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
params有什么用
2016/03/01 面试题
工程部文员岗位职责
2015/02/04 职场文书
出生证明格式
2015/06/15 职场文书
五年级作文之学校的四季
2019/12/05 职场文书
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python