很久没有学node了,之前书看了一半,今天继续学发现版本问题很坑爹,按书例子执行一堆错误。
想学nodejs操作db,百度半天,一堆sb写神马鸟玩儿?简简单单写一大堆还运行不了的。需要代码也是看别人写的, 还是有必要写个笔记。

1、安装mongodb、http://www.mongodb.org/,现在出了.msi可以不用命令安装,但是默认安装后在左下角的搜索里搜索不到。
默认路径在c盘C:\Program Files\MongoDB 2.6 Standard\bin

2、运行mongodb,首先要把mongo服务启动起来,到mongo的bin目录,可能第一次需要建dbpath(自己指定也可 mongod --dbpath XXXX/data)   ,

md data
md data\db

3、连接mongo
刚才的窗口别关 ,再打开一个cmd

默认链接到test库 (不知道说法对不对,暂时我把它理解为库)
show collections   列出所有表(所有集合)

4、mongodb命令略过不说

5、nodejs操作mongodb
新建一个目录  例如叫mongo, 打开node  ,cd mongo目录
npm install mongodb    安装mongodb驱动
逐个注释去掉单独运行然后查询效果吧,
db.mycoll.find()       我表名叫mycoll

var mongodb = require('mongodb');
var server = new mongodb.Server('localhost', 27017, {auto_reconnect: true});
var db = new mongodb.Db('test', server, {safe: true}); //test是上面截图连接的库 db.open(function (err, db) {
if (!err) {
console.log('connect'); //增 ,mycoll是查询的表 ,貌似别人叫合集
// db.collection('mycoll', {safe: true}, function (err, collection) {
// var tmp1 = {title: 'hello', number: 1};
// collection.insert(tmp1, {safe: true}, function (err, result) {
// console.log(result);
// });
// }); //删
// db.collection('mycoll', {safe: true}, function (err, collection) {
// collection.remove({title: 'hello'}, {safe: true}, function (err, result) {
// console.log(result);
// });
// }); //改
// db.collection('mycoll', {safe: true}, function (err, collection) {
// collection.update({title: 'hello'}, {$set: {number: 3}}, {safe: true}, function (err, result) {
// console.log(result);
// });
// }); //查
// db.collection('mycoll', {safe: true}, function (err, collection) {
// var tmp1 = {title: 'hello'};
// var tmp2 = {title: 'world'};
// collection.insert([tmp1, tmp2], {safe: true}, function (err, result) {
// console.log(result);
// });
// collection.find().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);
}
});

nodejs 操作mongodb, 增删改查的更多相关文章

  1. MongoDB(六)java操作mongodb增删改查

    java操作mysql数据库的代码我们已经了如指掌了.增删改查,java对mongodb数据库也是类似的操作,先是数据库连接.再是进行操作. 首先我们进入进入admin数据库.然后建立自己的数据库te ...

  2. springMVC操作mongoDB增删改查

    下面是mongoDb简单的增删改查(新闻类) 附:query.addCriteria(Criteria.where("modelId").ne("").ne(n ...

  3. Nodejs操作MySQL - 增删改查

    先安装npm模块项目 npm init 安装mysql npm install mysql --save Nodejs 连接msyql // 导入mysql const mysql = require ...

  4. MongoDB - 增删改查及聚合操作

    目录 MongoDB - 增删改查及聚合操作 一. 数据库操作(database) 1. 创建及查看库 2. 删除库 二. 集合collectionc=操作(相当于SQL数据库中的表table) 1. ...

  5. 数据库——MongoDB增删改查

    MongoDB增删改查操作 本文包含对数据库.集合以及文档的基本增删改查操作 数据库操作 #1.增 use config #如果数据库不存在,则创建并切换到该数据库,存在则直接切换到指定数据库. #2 ...

  6. 使用python操作XML增删改查

    使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...

  7. js操作indexedDB增删改查示例

    js操作indexedDB增删改查示例 if ('indexedDB' in window) { // 如果数据库不存在则创建,如果存在但是version更大,会自动升级不会复制原来的版本 var r ...

  8. MySQL数据分析(16)— 数据操作之增删改查

    前面我们说学习MySQL要从三个层面,四大逻辑来学,三个层面就是库层面,表层面和数据层面对吧,数据库里放数据表,表里放数据是吧,大家可以回忆PPT中jacky的这图,我们已经学完了库层面和表层面,从本 ...

  9. Redis简单的数据操作(增删改查)

    #Redis简单的数据操作(增删改查): 字符串类型 string 1. 存储: set key value 127.0.0.1:6379> set username zhangsan OK 2 ...

  10. MongoDB基础入门002--基本操作,增删改查

    一.这里只是演示最基本的操作,更多的信息可以去官网.https://docs.mongodb.com/manual 打开一个cmd,输入mongo命令打开shell,其实这个shell就是mongod ...

随机推荐

  1. 关于(void**)及其相关的理解

    #define LOADBASSFUNCTION (f) *((void **)&f)=(void*)GetProcAddress (hBass,# f) 这一句话使用*((void**)&a ...

  2. pt-table-sync

    高效的同步MySQL表之间的数据,他可以做单向和双向同步的表数据.他可以同步单个表,也可以同步整个库.它不同步表结构.索引.或任何其他模式对象.所以在修复一致性之前需要保证他们表存在.   使用范例: ...

  3. ArcGIS License Server Administrator 10.2 无法启动许可的解决办法

    刚刚重装了电脑,安装ArcGIS的时候,安装完desktop之后又安装了License Manager,结果把破解文件替换完之后,发现ArcGIS License Server Administrat ...

  4. gearmand安装过程

    51 cd boost_1_53_0 52 tail -f build_log 53 dir 54 cd gearmand-1.1.8 55 ./configure 56 could not find ...

  5. python_5_password

    #1.python2中raw_input与python3中的input是相同的,python2中也有input但是别用(不好用,忘记它) #密码是明文的 username=input("us ...

  6. C语言函数申明关键字inline

    内联inline是给编译器的优化提示,如果一个函数被编译成inline的话,那么就会把函数里面的代码直接插入到调用这个函数的地方,而不是用调用函数的形式.如果函数体代码很短的话,这样会比较有效率,因为 ...

  7. cudpp库使用说明

    所有信息是我个人在使用过程中的小小经验,不是什么权威性文档,旨在帮助需要研究此类信息的朋友少走点弯路. 整个项目的主函数,一切从这里开始 在cudpp_testrig右键属性页里找到调试,在命令行里输 ...

  8. Windows核心编程-作业

    原文链接:http://zhujiangtao.com/?p=983 作业 作业 一个简单例程 CreateJobObject 创建作业 作业限制和 SetInformationJobObject A ...

  9. IIS无法识别的属性targetFramework

    出现这种错误是因为发布网站时iis的应用程序池默认使用的是.net framework v2.0.50727.4927,而开发的网站用的是.net framework 4.5,所以会出现这种错误. 我 ...

  10. 【Java】异常 —— throw, throws, try catch 相关内容

    嗯……面试考到了这个,又是一个如无意外 那么接下来就总结吧 一.什么是异常 程序运行过程中发生的异常事件. RuntimeException通常是因为编程员因为疏忽没有检查而引起的错误. 二.Exce ...