Возможно ли создать частичный индекс в коллекции с использованием оператора массива $ size? Например, если у меня была схема blogPost с полем массива comments:[type:String]
, могу ли я индексировать коллекцию на основе количества комментариев на blogPost
0
A
ответ
0
Я не верю, что вы можете индексировать по длине массива. Однако вы можете изменить свою схему, чтобы иметь счетчик комментариев. Вы можете добавить индекс на этом поле и использовать атомарные операции обновления, чтобы добавлять комментарии, а увеличивающийся комментарий граф:
BlogPost.update(
{
_id: "123"
},
{
$push: {
comments: "new comment"
},
$inc: {
commentCount: 1
}
}, callback);
Просто добавьте индекс на commentCount
и он должен решить вашу проблему.