MongoDB入门
Window安装二进制包http://www.mongodb.org/downloads
新建一个目录 C:\data\db 默认查找位置,
启动服务 mongod 如果数据库保存在其他位置,则需要指定:--dbpath C:\data\db
启动客户端(shell) mongo
也可以使用使用IntelliJ IDEA的Mongo插件
基本概念
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 {key: value} |
column | field | 数据字段/域 |
index | index | 索引 |
table joins | 表连接,MongoDB不支持 | |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
数据库操作( db.help() )
show dbs 显示所有数据库
db 显示当前所在数据库
use testdb 切换到tesdbt数据库,没有则新建testdb数据库
db.dropDatabase() 删除当前所在数据库
集合操作( db.mycoll.help() )
show collections 显示所有集合
db.createCollection(name, { size : ..., capped : ..., max : ... } ) 创建集合 或者直接db.colname.insert({...})插入同时创建
db.col.insert({'xx':'xx',...}) 向col集合中插入文档,coll不存在则新建
db.col.find() 查看col集合中的所有文档,find(m,n)可以指定查询个数,find().sort() 可以连接使用,还有其他的.pretty(), .size(), .count()...
db.col.findOne() 查看最新插入的一个文档
db.col.drop() 删除col集合
db.col.update(<query>,{...}) 更新指定文档
db.col.remove(<query>) 删除指定文档
重命名集合
db.adminCommand({renameCollection:"test.test", to:"test.test_new"})
也可以将原集合移动到另一个数据库中
db.adminCommand({renameCollection:"test.test", to:"another_db.test"})
索引操作:
一般原则:唯一值,数据量大的时候,并且该字段较常用语查询判断,建立索引可以加快查询的速度。
db.col.getIndexes() 查询存在的所有索引
db.col.ensureIndex({"name": 1}) 创建索引
db.col.dropIndex({"name": 1}) 删除索引
用Python操作MongoDB
pip install pymongo
import pymongo client = pymongo.MongoClient() 可以传递参数 ('localhost', 27017) or ('mongod://localhost:21017/') db = client['testdb'] or client.testdb posts = db['posts'] or db.posts posts.insert({'xx':'xx', ...}) posts.find()