0
可以說我有3個類別:MongoDB的查詢連接優化
Grandparents
{
_id:1,
name:old foo
}
Parents
{
_id:2,
grandparentId:1,
name: foo
}
Person
{
_id: 3,
parentId:2,
name: youngfoo
}
如何優化查詢查找所有的人在那裏人的祖父母的名字= X?
在這種情況下名稱不是唯一的。
什麼,我能想到的,到目前爲止:
1.查詢所有名稱= X
2.查詢所有的父母祖父母外祖父母那裏IDS ==步驟得到1
3.查詢所有的人在那裏祖父母IDS父ids ==父母id從步驟2獲得。
感覺不太高效。 mongodb能幫助我的專家嗎?謝謝!
你在關係模型的方式您的NoSQL數據庫。嘗試嵌入文檔。如果你想有關係的方法只是嘗試RDMS –
我想過使用嵌入的方式,但事情是我也需要能夠過濾父母和人...例如找到所有人的名字= y – user1955934
@Undefined_variable這顯然是錯誤的方法。 [嵌入任意數量的文件是萬惡之源](http://blog.mahlberg.io/blog/2015/11/05/data-modelling-for-mongodb/)。一個[祖先數組](https://docs.mongodb.org/manual/tutorial/model-tree-structures-with-ancestors-array/)或物化路徑是迄今爲止最好的方法。 –