【问题标题】:MongoDB indexes for nested Objects嵌套对象的 MongoDB 索引
【发布时间】:2015-03-28 00:08:49
【问题描述】:

所以我试图找到我所有没有 images 对象的文档,并计算它们。

在游标中查找很顺利,因为我在游标本身上进行迭代,所以我不需要等待获取,但计数需要很长时间。

我在该集合上有 11M (11,000,000) 条记录,它没有任何索引,但 _id 所以我知道我需要创建索引,但我不知道我需要哪些索引...

我的文档结构包含整数和字符串,但它包含Object,即images

name (str) | title (str) | images (Object)

images 对象具有这种结构

red (int) | green (int) | blue (int) | url (str) | filename (str) | path (str) | product (str)

我的查询很简单

db.products.find({'images': {'exists': false }}).count()

我也试过

db.products.count({'images': {'exists': false }})

但正如我所说,计算需要永远......

【问题讨论】:

    标签: python mongodb


    【解决方案1】:

    您是否尝试过索引图像字段?

    db.products.ensureIndex({'images':1})
    

    可以使用.(dot) notation访问嵌套图像字段

    【讨论】:

    • 我没有,如果我这样做会阻塞数据库?我需要在后台运行它,对吗?
    • 顺便问一下,问题是知道为嵌套对象创建索引的适当方法
    • @RobertW.Hunter:您可能想在抱怨之前尝试解决方案。当然,在测试实例上。答案可能是有原因的,尽管没有详细说明。 ;)
    • 我没有抱怨,如果听起来像这样,对不起。使用该索引并不能解决任何问题,应用过滤器时的计数查询永远不会结束,太慢以至于永远不会结束......
    猜你喜欢
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 2021-05-13
    • 1970-01-01
    • 2016-04-19
    • 2016-06-25
    相关资源
    最近更新 更多