我喜歡MongoDB,並且出現了一些模糊不清的情況,我想知道是否有人曾經見過這個,可能會知道答案:-)。mongo dot notation ambiguity
在蒙戈,伸進子對象,你可以使用點符號,例如:
db.persons.find({ "address.state" : "CA" })
這是很簡單的。如何(如果這樣做的話)的確蒙戈處理之間的區別:因爲點
{
"address" { "state" : "CA" }
}
和
{
"address.state" : "CA"
}
是合法的鑰匙,據我所知。此外,我認爲,這將是一個合法的文檔,以及:
{
"address" { "state" : "A" },
"address.state" : "B"
}
在這種情況下,我可以看到這個查詢返回要麼"A"
或"B"
:可能出現
db.persons.find({}, {"address.state"}) // all docs selecting address.state as result.
類似的潛在問題我想象使用數組,以及:
{"a":["test"]}
這可能是與訪問:
{"a.0"}
當然
{"a" {"0" : "test"} }
這也將是訪問和:
{"a.0"}
想法?經驗?傳統的智慧是不是這樣做的?
當你在mongo shell中嘗試這些查詢時會發生什麼? – maerics 2012-04-26 13:22:07