Eu trabalho no MongoDB, então você deve levar isso com um grão de sal, mas isso parece uma ótima opção para o Mongo.
É fácil fazer consultas ad hoc em qualquer campo.
A consulta para isso seria:
{"inventory_id" : 2, "type" : "hotel"}
. Novamente, super fácil:
db.items.find({"brand" : "Samsung"}).sort({"price" : 1})
Sem problemas.
O MongoDB tem inserções em massa muito mais rápidas do que o CouchDB.
Além disso, há uma interface REST para o MongoDB:http://github.com/kchodorow/sleepy.mongoose
Você pode querer ler http://chemeo.com/doc/technology , que tratou do problema de busca de propriedades arbitrárias com o MongoDB.