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的并行运算实现代码
Nov 19 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
Dec 08 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
Jan 24 Javascript
开启Javascript中apply、call、bind的用法之旅模式
Oct 28 Javascript
javascript中的3种继承实现方法
Jan 27 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
Feb 10 Javascript
jQuery为某个div加入行样式
Jun 09 jQuery
javascript定时器取消定时器及优化方法
Jul 08 Javascript
uniapp与webview之间的相互传值的实现
Jun 29 Javascript
JavaScript实现像雪花一样的Hexaflake分形
Jul 07 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
Nov 05 Javascript
JavaScript原型链中函数和对象的理解
Jun 16 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中的array数组类型分析说明
2010/07/27 PHP
在PHP中实现Javascript的escape()函数代码
2010/08/08 PHP
php 强制下载文件实现代码
2013/10/28 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
基于javascript实现彩票随机数生成(简单版)
2020/04/17 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
React 使用Hooks简化受控组件的状态绑定
2019/03/18 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
通过Kettle自定义jar包供javascript使用
2020/01/29 Javascript
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
用pyqt5 给按钮设置图标和css样式的方法
2019/06/24 Python
python根据文本生成词云图代码实例
2019/11/15 Python
Django如何使用redis作为缓存
2020/05/21 Python
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
基于HTML5代码实现折叠菜单附源码下载
2015/11/27 HTML / CSS
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
婚前协议书范本
2014/04/15 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
融资合作协议书范本
2014/10/17 职场文书
离职报告格式
2014/11/04 职场文书
golang中的空slice案例
2021/04/27 Golang
python 字典和列表嵌套用法详解
2021/06/29 Python