1. 程式人生 > 資料庫 >mongodb教程

mongodb教程

1、NoSQL分類

型別 部分代表

 

特點
列儲存

Hbase

Cassandra

Hypertable

顧名思義,是按列儲存資料的。最大的特點是方便儲存結構化和半結構化資料,方便做資料壓縮,對針對某一列或者某幾列的查詢有非常大的IO優勢。

文件儲存

MongoDB

CouchDB

文件儲存一般用類似json的格式儲存,儲存的內容是文件型的。這樣也就有有機會對某些欄位建立索引,實現關係資料庫的某些功能。

key-value儲存

Tokyo Cabinet / Tyrant

Berkeley DB

MemcacheDB

Redis

可以通過key快速查詢到其value。一般來說,儲存不管value的格式,照單全收。(Redis包含了其他功能)

圖儲存

Neo4J

FlockDB

圖形關係的最佳儲存。使用傳統關係資料庫來解決的話效能低下,而且設計使用不方便。

物件儲存

db4o

Versant

通過類似面嚮物件語言的語法操作資料庫,通過物件的方式存取資料。

xml資料庫

Berkeley DB XML

BaseX

高效的儲存XML資料,並支援XML的內部查詢語法,比如XQuery,Xpath。

 

2、Mongodb概念解析

SQL術語/概念 MongoDB術語/概念 解釋/說明
database database 資料庫
table collection 資料庫表/集合
row document 資料記錄行/文件
column field 資料欄位/域
index index 索引
table joins   表連線,MongoDB不支援
primary key primary key 主鍵,MongoDB自動將_id欄位設定為主鍵

 

3、windows下安裝mongodb

從官網下載msi安裝檔案,下載地址,安裝完成後,主要目錄結構如下

├─bin
│
├─config
│      mongod.cfg
│
├─data
└─log
       mongod.log

配置檔案mongod.cfg內容如下(yaml格式)

# mongod.conf

# for documentation of all options,see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: D:\development-software\mongodb\data
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  D:\development-software\mongodb\log\mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


#processManagement:

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

安裝服務

mongod --config "D:\development-software\mongodb\config\mongod.cfg" --serviceName="mongodb" --serviceDisplayName="mongodb" --install

連線mongodb服務

mongo.exe是MongoDB自帶的互動式Javascript shell

 

4、基本命令


db //檢視當前操作的資料庫,預設test
show dbs
use db1 //如果db1不存在則自動建立
db.dropDatabase()//刪除當前資料庫

#插入,插入文件你也可以使用db.COLLECTION_NAME.save(document) 命令。如果不指定 _id 欄位 save() 方#法類似於 insert() 方法。如果指定 _id 欄位,則會更新該 _id 的資料
db.collection.insert(document) 
db.collection.find()

db.collection.remove({})