【问题标题】:mongodb / mongoose create index based on array operator $size?mongodb / mongoose 基于数组运算符 $size 创建索引?
【发布时间】:2016-05-26 13:27:04
【问题描述】:

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

【问题讨论】:

    标签: arrays mongodb indexing mongoose operator-keyword


    【解决方案1】:

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

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

    只需在commentCount 上添加一个索引,它应该可以解决您的问题。

    【讨论】:

      猜你喜欢
      • 2021-08-24
      • 2015-06-21
      • 2021-07-22
      • 2018-08-29
      • 2021-10-25
      • 2012-09-16
      • 2014-07-01
      • 2011-10-15
      相关资源
      最近更新 更多