MySQL与MongoDB设计实例对比
生活随笔
收集整理的這篇文章主要介紹了
MySQL与MongoDB设计实例对比
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
MySQL與MongoDB設計實例對比
2011年06月15日14:06?來源:huoding 作者:老王 編輯:胡銘婭?評論:0條如果使用MongoDB的話,應該如何存取數據呢?
如果使用MongoDB的話,雖然理論上可以采用和MySQL一樣的設計方案,但那樣的話就顯得無趣了,沒有發揮出MongoDB作為文檔型數據庫的優點,實際上使用MongoDB的話,和MySQL相比,形象一點來說,可以合二為一:
?
db.getCollection("mobiles").ensureIndex({"params.name":?1,
"params.value":?1
});
db.getCollection("mobiles").insert({
"_id":?1,
"name":?"ME525",
"brand":?"摩托羅拉",
"params": [
{"name":?"待機時間",?"value":?200},
{"name":?"外觀設計",?"value":?"直板"}
]
});
db.getCollection("mobiles").insert({
"_id":?2,
"name":?"E7",
"brand":?"諾基亞",
"params": [
{"name":?"待機時間",?"value":?500},
{"name":?"外觀設計",?"value":?"滑蓋"}
]
});
如果想查詢待機時間大于100小時,并且外觀設計是直板的手機,需要按照如下方式查詢:
?
db.getCollection("mobiles").find({"params": {
$all: [
{$elemMatch: {"name":?"待機時間",?"value": {$gt:?100}}},
{$elemMatch: {"name":?"外觀設計",?"value":?"直板"}}
]
}
});
注:查詢中用到的$all,$elemMatch等高級用法的詳細介紹請參考官方文檔中相關說明。
MySQL需要多個表,多次查詢才能搞定的問題,MongoDB只需要一個表,一次查詢就能搞定,對比完成,相對MySQL而言,MongoDB顯得更勝一籌,至少本例如此
轉載于:https://blog.51cto.com/ace105/805785
總結
以上是生活随笔為你收集整理的MySQL与MongoDB设计实例对比的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阴阳师电影(说一说阴阳师电影的简介)
- 下一篇: 数据库同步热备方案(云南某金属企业)