MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Indeksowanie MongoDB dla aplikacji Parse Server

Twój indeks faktycznie powinien zależeć od tego, jak wygląda Twoje zapytanie. Załóżmy, że zapytanie dotyczące wiadomości wygląda tak:

var query = new Parse.Query("Message");
query.equalTo("chatRoom", aChatRoom);
query.equalTo("user", someUser);
query.equalTo("isSeen", false);
query.descending("createdAt");
query.find().then(function(results){//whatever});

Następnie musisz zbudować indeks w kolekcji Message specjalnie dla tego zapytania. W tym przypadku:

db.Message.createIndex({_p_chatRoom:1, _p_user:1, isSeen: -1, _created_at: -1})

Alternatywnie, indeks z samym pokojem rozmów będzie działał znacznie lepiej niż brak indeksu w ogóle

db.Message.createIndex({_p_chatRoom:1})

Aby naprawdę zrozumieć, które indeksy należy zbudować, musisz przeczytać dokumentację Mongo https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex

Osobiście używam MLab do mojej Parse MongoDB, ponieważ nie znam się zbyt dobrze na bazach danych, a w rzeczywistości mają powolny analizator zapytań, który zaleca indeksy oparte na typowych zapytaniach w twojej aplikacji, więc jeśli nie chcesz uczyć się drobniejszych punktów indeksowania MongoDB, to MLab jest świetnym miejscem do rozpoczęcia




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak pobrać ostatni obiekt tablicy w osadzonym dokumencie w Mongoose?

  2. Filtrowanie osadzonych dokumentów w MongoDB

  3. Nie można połączyć się z kontenerem MongoDB z innego kontenera Docker

  4. Nagle błąd rzucania FluentMongo

  5. Dlaczego łączenie się z MongoDB z Node.js jest wolne?