如何高效的查询mongodb中的数据
场景:前端给后端发送了一个数组,数组的大小不限制,有可能非常小,有可能非常大。数组的每个项是一个id。后端收到这个数组后,需要从mongodb数据库中获取每个id的详情信息并返回给前端。 请问怎么样从mongodb去查询数据好一些呢?遍历那个数组,在遍历的过程中去数据库吗。这样应该不是很好的解决办法吧?
8 回复
根据前端传的一维数组拆成二维数组并发查询,然后拼接结果。
例如:前端传[‘id1’, ‘id2’, ‘id3’, ‘id4’, ‘id5’], 拆成 [[‘id1’, ‘id2’], [‘id3’, ‘id4’], [‘id5’]]
然后分3个查询,并发进行,使用$in,最后合并结果返回给前端。
@TimLiu1 场景:前端把全国的三级城市(区/县)的城市id通过数组传递给我,约莫三千的样子,然后我要去表里面把这三千个城市的数据全部返回前端。 当时确实不会用$in查询符。 那请问这样的情况,用$in操作符没有什么问题吗?