Mongodb汇总

MongoDB官方目录条例比较清晰,提供了教程及文档以及线上免费版的存储。

安装

brew update
brew install mongodb

monngodb启动

本地开发第一要素,别忘了在命令行执行

mongod

要不就报Cannot connect to the mongodb at localhost:27017 Error:Network is unreachable

数据库驱动

# 官方驱动
npm install mongodb --save

# 其他驱动
npm install mongoose --save

优缺点比较在此

MongoDB Atlas使用

  • 创建账户
  • 创建Group
  • 创建集群Cluster,有美国一区的AWS免费服务
  • 设置客户连接:可添加IP白名单
0.0.0.0/0
  • shell端连接:将<PASSWORD>,<DATABASE>替换为实际密码及数据库名称
mongodb://onvno:<PASSWORD>@buildserv-shard-00-00-l5ers.mongodb.net:27017,buildserv-shard-00-01-l5ers.mongodb.net:27017,buildserv-shard-00-02-l5ers.mongodb.net:27017/<DATABASE>?ssl=true&replicaSet=buildserv-shard-0&authSource=admin

node端

脚本基本使用如下:

var MongoClient = require('mongodb').MongoClient
  , assert = require('assert');

// Connection URL
var url = 'mongodb://localhost:27017/myproject';

// Use connect method to connect to the server
MongoClient.connect(url, function(err, db) {
  assert.equal(null, err);
  console.log("Connected successfully to server");

  db.close();
});

shell端

常用API见菜鸟教程

use myNewDB
db.myNewCollection1.insertOne( { x: 1 } )
db.myNewCollection3.createIndex( { y: 1 } )

mongodb开机自启动

linux mongodb 安装、自启动

  • mongodb安装
cd /home/mongod

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.6.tgz
tar -zxvf mongodb-linux-x86_64-3.2.6.tgz
mv mongodb-linux-x86_64-3.2.6.tgz mongodb
分配宿主
chown -R mongod.mongod *

切换root用户, 
cd ~ 
vi .bashrc 并追加
MONGODB_HOME=/home/mongod/mongodb 
PATH=$PATH:$MONGODB_HOME/bin
  • 创建数据文件目录,及日志目录
mkdir /home/mongod/data
mkdir /home/mongod/data/db
mkdir /home/mongod/log
  • 编辑启动脚本

    vi mongodb/mongo.conf
    内容:
    dbpath=/home/mongod/data/db
    logpath=/home/mongod/log/mongodb.log
    logappend=true
    fork=true
    port=27017
  • 测试启动

    启动
    /home/mongod/mongodb/bin/mongod -f /home/mongod/mongodb/mongo.conf

停止
/home/mongod/mongodb/bin/mongod -f /home/mongod/mongodb/mongo.conf --shutdown

* 配置开启启动
cd /etc/init.d/

!/bin/sh

chkconfig: 2345 80 90

description: mongodb

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

start() {
/home/mongod/mongodb/bin/mongod -f /home/mongod/mongodb/mongo.conf
}

stop() {
/home/mongod/mongodb/bin/mongod -f /home/mongod/mongodb/mongo.conf --shutdown
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac

使其生效

chkconfig --add mongodb

chmod +x mongodb

chkconfig mongodb on

@2017-07-23 21:44