mongodb的Reference感覺是關係型資料庫裡join
的一種優雅實現,可以輕鬆實現許多複雜的關聯查詢。
看了相關文件後我有些疑問,例如有以下數據
original_id = ObjectId()
db.places.insert({
"_id": original_id,
"name": "Broadway Center",
"url": "bc.example.net"
})
db.people.insert({
"name": "Erin",
"places_id": original_id,
"url": "bc.example.net/Erin"
})
people
透過places_id
這個欄位和places
關聯起來了。我在做查詢的時候怎麼樣得到一個嵌入式的文檔呢?如果我直接db.people.find({_id : '12312312'})
這樣會得到一個嵌入式文件嗎?是需要我怎麼聲明一下呢?
另一個是多對多查詢的問題,例如SF中的問題和標籤就是一個多對多的關係
db.questions.insert({
"_id": "1223123",
"title": "questions 1",
"tags": ["aaaaaaaa", "bbbbbbbb"]
})
db.tags.insert({
"_id": "aaaaaaaa",
"name": "php"
})
db.tags.insert({
"_id": "bbbbbbbb",
"name": "mongodb"
})
這種形式,取得問題questions
信息,要形成嵌入式文檔該如何查詢呢?
人生最曼妙的风景,竟是内心的淡定与从容!