关系型数据库名词与MongoDB对比:
关系数据库 | MongoDB |
Database | Database |
Table | Collection |
Row | Document |
Index | Index |
Join | Lookup |
Foreign Key | Reference |
Multi-table transaction | Single document transaction |
命令行使用MongoDB
插入你的第一数据
> show databases
local 0.000GB
> use test #切换到test数据库,如果没有则新建
switched to db test
> show databases
local 0.000GB
> db.demo.insert( { "key" : "value" } )
WriteResult({ "nInserted" : 1 })
> show databases
local 0.000GB
test 0.000GB
> show collections
demo
> db.demo.findOne()
{ "_id" : ObjectId("573af7085ee4be80385332a6"), "key" : "value" }
python中使用MongoDB
import pymongo
#
# client defaults to localhost and port 27017. eg MongoClient('localhost', 27017)
client = pymongo.MongoClient()
#连接到本地数据库
blogDatabase = client[ "blog" ]
#切换到blog数据库
usersCollection = blogDatabase[ "users" ]
#切换到usersCollection
usersCollection.insert_one( { "username" : "jdrumgoole",
"password" : "top secret",
"lang" : "EN" })
#插入一条数据
user = usersCollection.find_one()
#查找最新的一条数据
print( user )
articlesCollection = blogDatabase[ "articles" ]
author = "jdrumgoole"
article = { "title" : "This is my first post",
"body" : "The is the longer body text for my blog post. We can add lots of text here.",
"author" : author,
"tags" : [ "joe", "general", "Ireland", "admin" ]
}
#
# Lets check if our author exists
#
if usersCollection.find_one( { "username" : author }) :
articlesCollection.insert_one( article )
else:
raise ValueError( "Author %s does not exist" % author )