摘要

前面介绍了node.js操作mysql以及redis的内容,这里继续学习操作mongodb的内容。

安装驱动

安装命令

cnpm install mongodb

安装成功

数据库操作

因为mongodb是文档类型的数据库,与mysql有很大不同,mongodb会自动创建数据库和集合,并不需要提前进行手动创建。

Insert

var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
var insertData = function (db, callback) {
//连接数据表my_firsrt_collection
var collection = db.collection("my_firsrt_collection");
var data = [{ "name": "wolfy1", "age": 20 }, { "name": "wolfy2", "age": 20 }]
collection.insert(data, function (err, result) {
if (err) {
console.log("error:" + err);
return;
};
callback(result);
});
};
MongoClient.connect(DB_CONN_STR, function (err, db) {
if (err) {
console.log("连接失败:" + err);
return;
};
console.log("连接成功");
insertData(db,function(result){
console.log(result);
db.close();
});
});

结果

查询数据

var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
//查询 var queryData = function (db, callback) { //连接数据表my_firsrt_collection
var collection = db.collection("my_firsrt_collection"); //查询条件 var where = { "name": "wolfy1" };
collection.find(where).toArray(function (err, result) { if (err) { console.log("error:" + err); return; };
callback(result); }); };
MongoClient.connect(DB_CONN_STR, function (err, db) {
if (err) {
console.log("连接失败:" + err);
return;
};
console.log("连接成功");
queryData(db, function (result) { console.log(result); db.close(); }); });

结果

更新数据

var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
//查询
var updateData = function (db, callback) {
//连接数据表my_firsrt_collection
var collection = db.collection("my_firsrt_collection");
//查询条件
var where = { "name": "wolfy1" };
var updateStr={$set:{"address":"http://www.cnblogs.com/wolf-sun/"}};
collection.update(where,updateStr,function (err, result) {
if (err) {
console.log("error:" + err);
return;
};
callback(result);
});
};
MongoClient.connect(DB_CONN_STR, function (err, db) {
if (err) {
console.log("连接失败:" + err);
return;
};
console.log("连接成功");
updateData(db, function (result) {
console.log(result);
db.close();
});
});

结果

删除数据

var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
//删除
var deleteData = function (db, callback) {
//连接数据表my_firsrt_collection
var collection = db.collection("my_firsrt_collection");
//查询条件
var where = { "name": "wolfy1" };
collection.remove(where, function (err, result) {
if (err) {
console.log("error:" + err);
return;
};
callback(result);
});
};
MongoClient.connect(DB_CONN_STR, function (err, db) {
if (err) {
console.log("连接失败:" + err);
return;
};
console.log("连接成功");
deleteData(db, function (result) {
console.log(result);
db.close();
});
});

结果

总结

到这里就简单实现了node.js操作mongodb的实例。

[Node.js]连接mongodb的更多相关文章

  1. windows下安装mongodb以及node.js连接mongodb

    一.MongoDB 下载 下载地址  https://www.mongodb.com/download-center#community  选择windows版下载,然后安装. 二.安装完毕后创建数据 ...

  2. Node.js连接MongoDB数据库

    首先要启动MongoDB服务器 先找到你的mongoDb安装目录,我的如下:就在bin文件夹下创建一个data文件夹,data内包含两个空文件夹,如下: 接着回到bin文件夹处,按住shift键,右击 ...

  3. node.js连接MongoDB数据库,db.collection is not a function完美解决

    解决方法一. mongodb数据库版本回退: 这个错误是出在mongodb的库中,在nodejs里的写法和命令行中的写法不一样,3.0的api已经更新和以前的版本不不一样,我们在npm中没指定版本号的 ...

  4. Node.js 连接 MongoDB数据库

    安装指令:npm install mongodb var mongodb = require("mongodb");// console.log(mongodb); var Mon ...

  5. Node.js连接MongoDB

    使用monk访问mongodb mongodb.monk都安装了依赖的前提下: 首先启动MongoDB 服务:mongod: 进入了mongodb后台管理,再通过终端创建数据库:use monk-ap ...

  6. 初学node.js-nodejs连接MongoDB(5)

    一.吧MongoDB的驱动程序添加到Node.js中 Node.js 连接 MongoDB 连接

  7. Node.js向MongoDB中插入并查询数据

    首先必须要保持Node.js与MongoDB保持连接 具体教程见:Node.js连接MongoDB数据库步骤 插入数据步骤如下 node项目文件如下:在routes文件夹下新建insert.js文件, ...

  8. Node.js和MongoDB - MongoJS入门

    第一次尝试翻译外国牛人的博文,希望大家喜欢. 本文源码详见:https://github.com/njaulj/mongojs 一点都不夸大的说,近年来node.js和mongodb的确是大放异彩,在 ...

  9. node.js连接MySQL操作及注意事项

    node.js作为服务端的js运行环境已经出现了有几年了,最近我有个朋友也在做这方面的开发,但是也是刚刚接触,遇到了很多坑.前几天他们在操作数据库的时候出现了点问题,后来我们一起看了看,其实都是nod ...

随机推荐

  1. 诡异的Linux磁盘空间被占用问题,根目录满了,df和du占用不一样【转】

    新公司的测试机磁盘空间空余很小,日志很多,也很大,做个日志压缩脚本,在夜里4:30自动运行,第二天后发现磁盘空间又满了,只好删除没用的日志,清空空间,可诡异的是怎么删除没用的文件,空间还是占用很大.如 ...

  2. linux下查看各硬件型号

    查看主板型号 # dmidecode |grep -A 8 "System Information"System Information 上网查DELL CS24-TY,找到说主板 ...

  3. prometheus如何使用blackbox-exporter来获取k8s的网络性能

    如果学会了如何抓取app的metrics,则blackbox-exporter抓取网络性能套路是相同的. 一,在blackbox-exporter的blackbox.yml里配置好抓取模块,常见的是h ...

  4. Codeforces Round #529 (Div. 3) 题解

    生病康复中,心情很不好,下午回苏州. 刷了一套题散散心,Div 3,全部是 1 A,感觉比以前慢了好多好多啊. 这几天也整理了一下自己要做的事情,工作上要努力... ... 晚上还是要认认真真背英语的 ...

  5. Java动态性之反射机制(reflection)

    说到反射机制,第一次接触的人可能会比较懵,反射?什么反射?怎么反射?反射是干嘛的?下面我将在这篇文章中讲讲Java的反射机制 不过在这之前,还有一个问题需要解决,标题名中的动态性,说起动态性,我先介绍 ...

  6. 一个linux下简单的纯C++实现Http请求类(GET,POST,上传,下载)

    目录 一个linux下简单的纯C++实现Http请求类(GET,POST,上传,下载) Http协议简述 HttpRequest类设计 请求部分 接收部分 关于上传和下载 Cpp实现 关于源码中的Lo ...

  7. 重写(Override) 重载(Overload)

    重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重载(Overload)- 参数必须不同 重载(overloadin ...

  8. 容器(Container)Frames和Panels

    Frames 1)是Window的子类 2)具有标题和缩放角 3)从容器继承并以add方式添加组件 4)能以字符串规定的标题来创建不可见框架对象 5)能将BorderLayout当做缺省布局管理器 6 ...

  9. android shareUID

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 安卓中 全局进程,其他应用可以通过 分享UID 方式 和它 在同一个进程中.

  10. Wannafly挑战赛21A

    题目链接 Wannafly挑战赛21A 题解 代码 #include <cstdio> #include <cmath> #define MAX 1000005 #define ...