我想知道如果为了搜索它们而插入了一些新的地理数据,是否必须重新编制mongodb中的地理空间数据索引?假设我们有一个文档,看起来像:
{user:'a',loc:[363.236,-45.365]}
,并将其编入索引。后来,我插入了文档b,它看起来像是:{user:'b',loc:{42.3654,-56.3}}
。为了搜索,每次插入新文档时,是否必须重新索引(使用ensureIndex())集合?频繁的重建索引是否会影响整体应用程序的性能?
谢谢。
答案 0 :(得分:0)
你只需要确保一次指数;之后,MongoDB在每个插入上维护索引。我不是100%确定索引是为删除而维护的 - 我想它必须这样做。
您可以对索引进行碎片整理并重建它以使其更小,因此存在功能。一个有用的帖子:
http://jasonwilder.com/blog/2012/02/08/optimizing-mongodb-indexes/