日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > MongoDB: 3. Schema Design

MongoDB: 3. Schema Design

來源:程序員人生   發布時間:2013-11-09 04:55:53 閱讀次數:3676次
1. Document-Oriented

MongoDB 是一種面向文檔(document-oriented)的數據庫,其內存儲的是一種 JSON-like 結構化數據。盡管擁有和關系型數據庫 Database/Table 類似的的 DB/Collection 概念,但同一 Collection 內的 Document 可以擁有不同的屬性。

(注: 以下 > 提示符表示 mongo JS 代碼,>>> 為 Python 代碼)

> use blog
switched to db blog

> db.users.insert({name:"user1", age:15})
> db.users.insert({name:"user2", age:20, sex:1})

> db.users.find()
{ "_id" : ObjectId("4c479885089df9b53474170a"), "name" : "user1", "age" : 15 }
{ "_id" : ObjectId("4c479896089df9b53474170b"), "name" : "user2", "age" : 20, "sex" : 1 }
可以通過 $exists 判斷某個字段是否存在。

> db.users.find({sex:{$exists:true}})
{ "_id" : ObjectId("4c479896089df9b53474170b"), "name" : "user2", "age" : 20, "sex" : 1 }
2. Embed vs. Reference

Document 采取 JSON-like 這種層級結構,因此我們可以直接用嵌入(Embed)代替傳統關系型數據庫的關聯引用(Reference)。

> u = db.users.findOne({name:"user1"})
{
"_id" : ObjectId("4c479885089df9b53474170a"),
"name" : "user1",
"age" : 15
}

> u.address = ["address1", "address2"]
[ "address1", "address2" ]

> db.users.save(u)

> db.users.findOne({name:"user1"})
{
"_id" : ObjectId("4c479885089df9b53474170a"),
"name" : "user1",
"age" : 15,
"address" : [
"address1",
"address2"
]
}

> db.users.findOne({address:"address1"})
{
"_id" : ObjectId("4c479885089df9b53474170a"),
"name" : "user1",
"age" : 15,
"address" : [
"address1",
"address2"
]
}
MongoDB 支持以 "." 分割的 namespace 路徑,但需要注意 key 不能以 "$" 開頭,不能包含 "." 字符 (條件表達式中的多級路徑須用引號)。

> u = db.users.findOne({address:"address1"})
{
"_id" : ObjectId("4c479885089df9b53474170a"),
"name" : "user1",
"age" : 15,
"address" : [
"address1",
"address2"
]
}

> u.im = {msn:"user1@hotmail.com", qq:12345678}
{ "msn" : "user1@hotmail.com", "qq" : 12345678 }

> db.users.save(u)

> u = db.users.findOne({"im.qq":12345678})
{
"_id" : ObjectId("4c479885089df9b53474170a"),
"name" : "user1",
"age" : 15,
"address" : [
"address1",
"address2"
],
"im" : {
"msn" : "user1@hotmail.com",
"qq" : 12345678
}
}

> u.im.qq
12345678

> u.im.msn
user1@hotmail.com

> db.users.update({"im.qq":12345678}, {$set:{"im.qq":12345}})

> u = db.users.findOne({"im.qq":12345})
{
"_id" : ObjectId("4c479885089df9b53474170a"),
"name" : "user1",
"age" : 15,
"address" : [
"address1",
"address2"
],
"im" : {
"msn" : "user1@hotmail.com",
"qq" : 12345
}
}

> u = db.users.find({"im.qq":{$exists:true}}, {"im.qq":1})
{ "_id" : ObjectId("4c479885089df9b53474170a"), "im" : { "qq" : 12345 } }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品久久av | 成人久久| 欧美 日本 国产 | 国产99久久久国产精品 | 亚洲免费视频一区二区 | 亚洲一区二区高潮无套美女 | 日韩精品免费在线观看 | 日韩欧美一区二区在线视频 | 亚洲欧洲激情在线乱码蜜桃 | 久久一日本道色综合久久大香 | 国产精品久久国产精品 | 午夜99| 女同久久另类99精品国产 | 成人福利视频在线 | 欧美一级黄色片免费观看 | 国产日 | 久久久久久精 | av福利网| 亚洲小视频在线观看 | 国产精品久久久久久久久免费看 | 91高清在线观看 | 亚洲三级免费 | 婷婷在线视频 | 中文字幕视频在线观看 | 欧美成人精品一区二区 | 国产精品免费一区二区三区四区 | 可以在线观看的av网站 | 成人免费在线播放 | 欧美国产在线视频 | 一级二级三级黄色片 | 国产三级久久久 | 国产网站在线免费观看 | 中文字幕免费中文 | 国内精品国产成人国产三级粉色 | 自拍偷拍欧美日韩 | 欧美日韩一区二区三区不卡视频 | 免费a视频| 一区二区中文 | 亚洲欧洲在线观看 | www.国产一区 | 免费成人美女女 |