【发布时间】:2016-05-26 13:27:04
【问题描述】:
是否可以使用数组运算符 $size 在集合上创建部分索引?例如,如果我有一个带有数组字段 comments:[type:String] 的 blogPost 架构,我是否可以根据每个 blogPost 的 cmets 数来索引集合
【问题讨论】:
标签: arrays mongodb indexing mongoose operator-keyword
是否可以使用数组运算符 $size 在集合上创建部分索引?例如,如果我有一个带有数组字段 comments:[type:String] 的 blogPost 架构,我是否可以根据每个 blogPost 的 cmets 数来索引集合
【问题讨论】:
标签: arrays mongodb indexing mongoose operator-keyword
我不相信您可以按数组长度进行索引。但是,您可以修改您的架构以获得评论计数。然后,您可以在该字段上添加索引并使用原子更新操作来添加 cmets,同时增加评论计数:
BlogPost.update(
{
_id: "123"
},
{
$push: {
comments: "new comment"
},
$inc: {
commentCount: 1
}
}, callback);
只需在commentCount 上添加一个索引,它应该可以解决您的问题。
【讨论】: