mongodb / mongoose基于数组运算符$ size创建索引?

时间:2016-02-15 15:07:03

标签: arrays mongodb indexing mongoose operator-keyword

是否可以使用数组运算符$ size在集合上创建部分索引?例如,如果我有一个带有数组字段comments:[type:String]的blogPost模式,我可以根据每个blogPost的评论数来索引集合

1 个答案:

答案 0 :(得分:0)

我不相信你可以按数组长度索引。但是,您可以修改架构以获得注释计数。然后,您可以在该字段上添加索引,并在增加注释计数时使用原子更新操作添加注释:

BlogPost.update(
    { 
        _id: "123" 
    },
    {
        $push: {
            comments: "new comment"
        },
        $inc: {
            commentCount: 1
        }
    }, callback);

只需在commentCount上添加一个索引即可解决您的问题。