У меня есть следующая структура данных:Как запросить индексы в MongoDB используя C# драйвер
{
eventname: "blah",
invitees: [
{
inviteid: 1,
userid: 34234
},
{
inviteid: 2,
userid: 5232
}]
}
Я собираюсь использовать ensureIndex
на моей колонке приглашенных, поэтому я не придется искать через каждый документ, чтобы найти конкретные userid в колонке приглашенных. В основном он искал события, к которым был приглашен конкретный идентификатор пользователя. Мне предложили использовать этот db.events.find({"invitees.userid" : 34234})
, чтобы запросить его, но как это сделать в C# с драйвером 10gen. метод .find
принимает только объект Mongo Query.
После создания индекса на колонке вы можете просто запрос, как правило, и он делает все для вас? – anthonypliu
Да. Вы можете использовать команду .explain(), чтобы проверить индекс, если он есть, который используется в запросе – sambomartin
Это верно. Вам не нужно ничего делать, чтобы заставить его использовать индекс. Если вы не видите преимущества, ожидаемого от индекса, используя команду объяснения, как указано выше, будет показано, что индекс используется, если он используется. –