2011-12-28 11 views
0

Я следующий документ схема в mongoose2.4.8, работающий на node0.4.12:Могу ли я определить индекс на док-схеме для свойства массива в mongoose.js

var UserSchema = new Schema({ 
    following: [{type: ObjectId, ref: 'User'}], 
    followers: [{type: ObjectId, ref: 'User'}] 
}); 

Я хочу, чтобы ускорить поиск в эти массивы. Могу ли я использовать функциональность индекса mongoose.js? И как?

+0

@DeaDEnD, что я пытаюсь сделать, это найти, является ли пользователь x следующим пользователем y. Это подразумевает поиск в любом из массивов. Это быстрее, если определить другую схему специально для следующих функций, например: 'var FollowerSchema = new Schema ({follower: {type: ObjectId, ref: 'User', index: true}, а затем: {type: ObjectId, ref : 'User', index: true}}); ' –

ответ

0

Вы пытаетесь найти ObjectId в массивах? Или вы ищете пользователя? Если последний, добавьте индекс в схему пользователя.

+0

Я пытаюсь найти ObjectIds в массивах. Но функциональность, за которой я нахожусь, быстро находит последователей/следующих пользователей –

+1

В этом случае вы не хотите добавлять туда индекс, потому что то, что будет делать, - это ускорить поиск объектов ObjectIds, а не пользователей. По умолчанию индекс уже добавлен в поле '_id' схемы, поэтому вам даже не нужно будет добавлять его самостоятельно. – fent