一、先配置MongoDB

Win10下下载那个安装版,zip版的会报却各种DLL,安装在你希望的路径,实在安装错了,就剪切过来也行(本例E:\mongodb)。

然后是配置启动脚本,就是写一个bat文件,双击即可打开,因为那启动命令实在有点长。

在E:\mongodb\bin下创建一个start.bat文件,写入:

cd E:\mongodb\bin
mongod --dbpath=../data --directoryperdb --logpath=../log.log --logappend

注意要创建好data目录

二、使用Nodejs连接MongoDB

在任意地方都可以写代码,比如我在D盘创建了一个Nodejs文件夹,以后的js文件全部放到里面,

按住shift邮件选择打开命令行,先安装express:(其实这个可以不安装)

npm install express

再安装MongoDB组建:

npm install mongodb

然后打开Sublime Text 3,在刚才的目录下创建一个js文件,并编写代码如下:

var mongodb = require('mongodb');
var server = new mongodb.Server('localhost', 27017, {auto_reconnect:true});
var db = new mongodb.Db('mydb', server, {safe:true}); //连接db
db.open(function(err, db){
if(!err){
console.log('connect db');
db.collection('users', {safe:true}, function(err, collection){
if(err){
console.log(err);
}else{
var whereStr={"name":"lisi"};
collection.find(whereStr).toArray(function(err,docs){
console.log('find');
console.log(docs);
});
collection.findOne(function(err,doc){
console.log('findOne');
console.log(doc);
});
}
});
}else{
console.log(err);
}
});

这段代码应该没有什么难以理解的地方。

先给数据库里面插入两条数据:

新建表:db.createCollection('要新建的表名');
db.表名.insert(数据);
查询表中所有数据:db.表名.find();

然后在编辑器中执行control+b即可看到结果:

我给库里插了两条数据:

完整增删改查代码如下:

var  mongodb = require('mongodb');
var server = new mongodb.Server('localhost', 27017, {auto_reconnect:true});
var db = new mongodb.Db('mydb', server, {safe:true}); function search(){
db.open(function(err, db){
if(!err){
//console.log(db);
console.log('connect db');
db.collection('users', {safe:true}, function(err, collection){
if(err){
console.log(err);
}else{
var whereStr={"name":"lisi"};
collection.find(whereStr).toArray(function(err,docs){
console.log('find');
console.log(docs);
});
collection.findOne(function(err,doc){
console.log('findOne');
console.log(doc);
});
collection.find().toArray(function(err,doc){
console.log('findAll');
console.log(doc);
});
} });
}else{
console.log(err);
}
});
} function change(){
db.open(function(err, db){
if(!err){
//console.log(db);
console.log('connect db');
db.collection('users', {safe:true}, function(err, collection){
if(err){
console.log(err);
}else{
//var tmp1 = {name:'wangwu',age:13,number:1};
//collection.insert(tmp1,{safe:true},function(err, result){
//console.log(result);
//}); //更新数据
collection.update({name:'zhangsan'}, {$set:{age:4}}, {safe:true}, function(err, result){
console.log("update data");
console.log(result);
});
// 删除数据
// collection.remove({name:'zhangsan'},{safe:true},function(err,result){
//console.log(result);
//});
} });
}else{
console.log(err);
}
});
} search();
change();
search();

Nodejs开发(2.连接MongoDB)的更多相关文章

  1. NodeJS连接MongoDB数据库时报错

    今天第一次尝试连接MongoDB数据库,具体步骤也很简单. 首先,通过NodeJS运行环境安装MongoDB包,进入要安装的目录,执行语句 npm install mongodb 安装成功后,通过如下 ...

  2. nodejs:注册登录session出错以及连接Mongodb数据库时Error connecting to database解决方案

    (1)nodejs:注册登录session出错 解决办法: 在app.js 中将var MongoStore =  require(connect-mongo')改为var MongoStore =  ...

  3. NodeJS连接MongoDB数据库

    NodeJS连接MongoDB数据库 连接数据库的js文件[我将其命名为(connect.js)] // 引入mongoose第三方模块 const mongoose = require('mongo ...

  4. NodeJS连接MongoDB和mongoose

    1.MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.是世界上目前用的最广泛的nosql数据库 2.noSql 翻译过来 not o ...

  5. nodejs连接mongodb的方法

    一. var express = require('express'); var mongodb = require('mongodb'); var app = express(); app.use( ...

  6. nodejs学习8:windows连接mongodb出现的错误解决办法

    今天遇到了在windows下连接mongodb错误的情况,因为之前安装是正常的,而重启的电脑之后就再也连接不上.于是在群里求助了下,无果,查阅了官网的英文文档,终于有些眉目了,故此一记. 先吐槽下命令 ...

  7. nodejs开发指南读后感

    nodejs开发指南读后感 阅读目录 使用nodejs创建http服务器; supervisor的使用及nodejs常见的调式代码命令了解; 了解Node核心模块; ejs模板引擎 Express 理 ...

  8. 《NodeJS开发指南》第五章微博实例开发总结

    所有文章搬运自我的个人主页:sheilasun.me <NodeJS开发指南>这本书用来NodeJS入门真是太好了,而且书的附录部分还讲到了闭包.this等JavaScript常用特性.第 ...

  9. nodejs开发解决方案

    1.2. 统一环境 开发环境 nvm nrm nodejs 0.10.38 node-inspector 部署环境 nvm nrm iojs 2.x pm2 nginx 异步流程控制:Promise是 ...

随机推荐

  1. C#中js文本提示

    Page.ClientScript 与 ClientScript 的关系 这二者实际上是一个东西,后者只是省略了 Page.都是获取用于管理脚本.注册脚本和向页添加脚本的 ClientScriptMa ...

  2. 【Oracle】使用Oracle的v$sql视图查看近段时间执行的SQL语句

    SELECT * FROM v$sql ORDER BY first_load_time DESC;

  3. SolrCloud zookeeper节点信息

    shard 节点列表 get /collections/appstore/leaders/shard1 { "core":"appstore", "n ...

  4. JS中常遇到的浏览器兼容问题和解决方法【转】

    今天整理了一下浏览器对JS的兼容问题,希望能给你们带来帮助,我没想到的地方请留言给我,我再加上: 常遇到的关于浏览器的宽高问题: //以下均可console.log()实验 var winW=docu ...

  5. Spring中@Async用法总结

    引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3. ...

  6. How parse REST service JSON response

    1. get JSON responses and go to : http://json2csharp.com/ 2. write data contracts using C# All class ...

  7. marquee标签

    页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee ...

  8. Hadoop.2.x_HA部署

    一.概念与HA思路 1. 首先Hadoop架构为主从架构(NameNode/DataNode) 2. NameNode管理着文件系统和与维护客户端访问DataNode 3. Hadoop 2.0 之前 ...

  9. Thinkphp框架感悟(一)

    一.assign() /** * 分析: * 此处是Controller类里面的assign方法,我们一般写的控制器所调用的assign方法就是调的这个. * 而这个方法就干了三件事:1.获取传过来的 ...

  10. PHP版本过狗Shell

    默认密码demo使用方法 按p 输入密码 或者 你保存的xx.php?password=demo自定义密码在define('iphp','demo2'); demo2 为你设定的密码. <?ph ...