我目前正在构建一个与酒店预订网站具有类似模型的应用程序。
目前正在考虑处理可用性搜索的方法。
我的模型看起来有点像下面:
酒店
_id
名称
描述
star_rating
地址
lat
lon
然后我想到有一个像这样的可用性集合:
可用性
hotel_id(如果可用性是它自己的集合)
date
room_type
room_max_occupancy
price
date 将存储房间可用的一天
room_type 将是“Twin” “Double”<br> room_max_occupancy 将是 2、3 等...
一个示例查询是:
6 月 1 日至 8 日入住的房间,可供 2 人入住。
对于“搜索结果”,我需要返回hotel.name、hotel.description、hotel.star_rating。
我正在寻找为上面列出的查询类型存储此数据的最有效方法?
可用性集合应该是它自己的集合还是 Hotel 的子文档?
如果它是自己的集合,我是否应该将纬度添加到可用性中(连同hotel_id)以提高搜索效率?