MongoDB

https://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/

在Mac上安装

brew update
brew install mongodb

运行

mkdir -p /data/db

mongod

这里是默认的运行路径 更多参数可以看这里https://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/

连接数据库

之前只是启动了数据库的服务 下面通过shell命令来连接数据库

mongo

列出数据库

> show dbs
local 0.078GB
test 0.078GB

切换数据库(同时可以新建数据库)

use databasename

(这个时候表示在使用这个数据库 但是你通过show dbs看不到它 只有向一个数据库中插入过了数据 show dbs 才能看到它)

db.users.save({username:'hehe'})

向数据库中的users 这个collection插入了一条数据

collection 比较接近于表的概念

之后会返回刚才操作的结果

WriteResult({ "nInserted" : 1 })

通过show collections 可以看到所有的表

> show collections
system.indexes
users

删除

删除collection中所有数据

db.restaurants.remove( { } )

删除一个collection

db.restaurants.drop()

删除指定数据

db.recordsTest.remove({'periodInfo.loading.elapsed':{$gt:50000 }  })

查找

> db.users.find()
{ "_id" : ObjectId("562db21bf928090dc1a9a24f"), "username" : "hehe" }

修改

db.recordsTest.update({day:'2016-1-1'},{$set:{day:"2015-12-08"}},{multi:true})

和Node一起用

http://mongodb.github.io/node-mongodb-native/2.0/api/

新的API在建立db的时候和以前的API不同

(旧API仍然可以用)

比如很多书上OR博文中的例子都是这么写的

var mongodb = require('mongodb');
var db = new Db('your-db', new Server("127.0.0.1", Connection.DEFAULT_PORT, { auto_reconnect: true }));
db.open(function(error, databaseConnection) {
if (error) throw new Error(error);
connectionInstance = databaseConnection;
databaseConnection.collection('collectionName', function(error, collection) {
collection.find().toArray(function(error, results) {
//blah blah
});
});
});

这里的databaseConnection 就是我们需要的数据库实例

怎么样才能让连接db这个部分更加通用呢

http://www.oschina.net/question/12_104851

我们需要一个全局的变量来存储这个connection

建立连接 connection.js

var connectionInstance;

module.exports = function(callback) {
//if already we have a connection, don't connect to database again
if (connectionInstance) {
callback(connectionInstance);
return;
} var db = new Db('your-db', new Server("127.0.0.1", Connection.DEFAULT_PORT, { auto_reconnect: true }));
db.open(function(error, databaseConnection) {
if (error) throw new Error(error);
connectionInstance = databaseConnection;
callback(databaseConnection);
});
};

操作数据库

var mongoDbConnection = require('./lib/connection.js');

exports.index = function(req, res, next) {
mongoDbConnection(function(databaseConnection) {
databaseConnection.collection('collectionName', function(error, collection) {
collection.find().toArray(function(error, results) {
//blah blah
});
});
});
};

新API

http://mongodb.github.io/node-mongodb-native/2.0/api/

//client 就是 db
var client, collections = {}; module.exports.get = function(name, callback) {
if (client) {
getCollection(name, callback);
} else {
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {
if (!err) {
client = db; //db
client.on('close', function() {
client = null;
collections = {};
});
getCollection(name, callback);
} else {
//error connecting...
console.log('db open failed')
}
});
}
}

MongoDB 从0开始的更多相关文章

  1. CentOS7 安装MongoDB 3.0服务器

    1,下载&安装 MongoDB 3.0 正式版本发布!这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统.MongoDB宣称,3.0新版本不只 ...

  2. MongoDB 3.0.6 安装 增删改查

    下载 安装包MSI http://yunpan.cn/cmhHdTPkXZRM2  访问密码 9b6c 上边提供的是 MongoDB 3.0.6 64Bit 的安装包 安装 如果不想直接安装在C盘.. ...

  3. 新年新技术:MongoDB 3.0

    前一篇介绍了HTTP/2,这一篇简单介绍下3月3号发布的MongoDB 3.0. What’s new in MongoDB 3.0? 新的存储引擎WiredTiger MongoDB 3.0的存储引 ...

  4. MongoDB 3.0 新特性【转】

    本文来自:http://www.open-open.com/lib/view/open1427078982824.html#_label3 更多信息见官网: http://docs.mongodb.o ...

  5. MongoDB 3.0 用户创建

    摘要: MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 环境.测试: 在安装MongoDB之后,先关闭auth认证,进 ...

  6. MongoDB 3.0(1):CentOS7 安装MongoDB 3.0服务

    目录(?)[-] 1下载安装 2MongoDB CRUD 1创建数据 2更新数据 3删除 4查询 5更多方法 3MongoDB可视化工具 4总结   本文原文连接: http://blog.csdn. ...

  7. CentOS7 安装MongoDB 3.0服务

    1,下载&安装 MongoDB 3.0 正式版本发布!这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统.MongoDB宣称,3.0新版本不只 ...

  8. [译]MongoDB 3.0发布说明

    原文来自:http://docs.mongodb.org/manual/release-notes/3.0/ 2015年3月3日 MongoDB 3.0现已可供使用.关键新特性包括支持WiredTig ...

  9. Mongodb 3.0 创建用户

    MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 创建第一个用户(该用户需要有grant权限,即:账号管理的授权权限) ...

  10. (转)MongoDB 3.0 WT引擎参考配置文件

    mongodb 3.0 改变很多,从2.6版本升级到3.0要关注的细节很多,如权限等等.3.0在数据存储引擎上更换成了wiredTiger,在数据压缩方面很有效,解决大数据量问题的情况下,磁盘不够用的 ...

随机推荐

  1. UVa 1585 - Score

    得分是目前连续O 的个数,遇到X置0 #include <cstdio> #include <iostream> #include <cstring> using ...

  2. [string]Reverse Words in a String

    Given an input string, reverse the string word by word. For example,Given s = "the sky is blue& ...

  3. PHP的五种常见设计模式

    工厂模式 最初在设计模式 一书中,许多设计模式都鼓励使用松散耦合.要理解这个概念,让我们最好谈一下许多开发人员从事大型系统的艰苦历程.在更改一个代码片段时,就会发生问题,系统其他部分 —— 您曾认为完 ...

  4. phpcms 调用全站最新发布数据

    phpcms模板标签没有调用全站最新发布的数据 所以参考phpcms本身自带的lists方法写了一个Countlists调用全站数据 /** * 全站最热 * @param $data */ publ ...

  5. bugfree搭建

  6. c代码中调用c++,c++代码中调用c代码

    注意这里的c调用c++或者c++调用c的意思是.c文件中调用.cpp文件中的代码,或者相反 集成开发环境如vc++6.0或者vs都是通过文件后缀来区别当前要编译的是C代码还是C++代码,然后采用相应的 ...

  7. 自动注册服务NET Core扩展IServiceCollection

    NET Core扩展IServiceCollection自动注册服务 前言 在ASP.NET Core中使用依赖注入中使用很简单,只需在Startup类的ConfigureServices()方法中, ...

  8. Oracle EBS-SQL (BOM-13):检查未定义库存分的物料类.sql

    select distinct msi.segment1            编码 , msi.description                      描述  , msi.primary_ ...

  9. mac下配置java环境

    1.tomcat配置 http://www.cnblogs.com/freeyiyi1993/p/3436368.html 2.下载eclipse和jdk安装  jdk去oracle网站下载

  10. REST Web Server,REST介绍

    参考资料: 1.http://www.chinalivedoor.com/story/1123.html 2. Backbone.js 是一种重量级javascript  MVC 应用框架,通过Mod ...