我正在使用node.js
和mongodb
。
我将进行数据库设置并使用socket.io进行实时更新,以便再次查询db或将新更新推送到客户端。
我想弄清楚过滤数据库的最佳方法是什么?
有关正在查询的内容以及实时更新的更多信息:
数据库中的文档将包含地址,城市,时间,包裹数量,名称,价格等信息。
过滤器包括城市/价格/名称/时间(仅表示查看同一城市内或同一时段内的地址)
实时信息:包括向数据库添加新文档,这将基本上更新网站上的管理员,并附上新地址的通知。
方法1:使用要搜索的过滤器查询数据库?
方法2:查询所有搜索的数据库,然后在客户端(Javascript)对其进行过滤?
方法3:查询所有搜索的数据库,然后将其存储在localStorage中,然后查询localStorage以了解过滤器的内容?
试图弄清楚用户过滤它的最快方法是什么? 此外,如果它与最具成本效益的方式不同,那么最具成本效益的(我假设它是较少的数据库查询)......
答案 0 :(得分:1)
很难说,因为我们没有看到过滤器的确切条件,但总的来说:
根据您的说法,如果您可以在时间段内按地址过滤,那么您可以拥有一个减少大量文档的索引。您最有可能需要复合索引 - 多个字段。