можно хранить всё в одной коллекции:
{
"type": "полка",
"size":{
"width": 45,
"height": 34
}
}
{
"type": "стена",
"size":{
"width": 11,
"height": 500
},
"holes": 3
}
так что для хранения "зоопарка" и поиска по нему mongoDB подходит.
если будут связи с другими таблицами, могут быть проблемы, потому что JOIN-ы сделать непросто.
лучше прикинуть структуру данных со связями и тогда может будет яснее