摘要

前面介绍了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. MDP安装之数据库

    /usr/bin/mysqladmin -u root password 'Bic2017' mysql-community-client-5.6.28-2.el6.x86_64 mysql-comm ...

  2. CMD常用命令(一)

    常用命令大全 net>user heibai lovechina /add 加一个heibai的用户密码为lovechina net>localgroup Administrators h ...

  3. usb_control_msg函数用法和说明

    usb_control_msg是没有用到urb的在USB中简单进行发送和接收的一种机制,用于少量的数据通信.原型为:  程序代码 linux+v2.6.35/drivers/usb/core/mess ...

  4. tar命令的实用详解(C参数和排除文件 --exclude)

    一.tar:从压缩包中解压出指定文件 [root@d176 test]# tar ztf nrpe-2.12.tar.gz |grep srcnrpe-2.12/src/nrpe-2.12/src/. ...

  5. Mac安装MAT报错问题

    安装mat报错,提示在/.eclipse/1528649425_macosx_cocoa_x86_64/configuration/1539332382530.log路径下查看错误日志, 原因是/pr ...

  6. 一些对外的服务(例如lnmp)都不用root执行

    lnmp lamp等需要对外的服务,都不用root用户执行进程 缺点: 如果php程序使用root运行,万一你的程序有漏洞,被拿到了web shell,那么黑客将直接拥有root权限进入你的系统 对于 ...

  7. 最小二乘法 及python 实现

    参考   最小二乘法小结     机器学习:Python 中如何使用最小二乘法 什么是” 最小二乘法” 呢 定义:最小二乘法(又称最小平方法)是一种数学优化技术,它通过最小化误差的平方和寻找数据的最佳 ...

  8. 【洛谷】P4199 万径人踪灭

    题解 每种字符跑一遍FFT,得到\(i + j = k\)时匹配的个数(要÷2,对于相同位置的最后再加上 然后算出\(2^{cnt[k]}\)的和,最后再减去用mancher匹配出的连续回文子串的个数 ...

  9. 【LOJ】#2128. 「HAOI2015」数字串拆分

    题解 题中给的函数可以用矩阵快速幂递推 我们记一个数组dp[i](这个数组每个元素是一个矩阵)表示从1到i所有的数字经过拆分矩阵递推的加和 转移方法是 \(dp[i] = \sum_{j = 0}^{ ...

  10. Hive的安装和使用

    1.Hive1.1 在hadoop生态圈中属于数据仓库的角色.他能够管理hadoop中的数据,同时可以查询hadoop中的数据. 本质上讲,hive是一个SQL解析引擎.Hive可以把SQL查询转换为 ...