2012-07-09 18 views

Odpowiedz

5

1 °/Funkcja ModelCompanion zapewnia metody def findAll(): SalatMongoCursor[ObjectType] = dao.find(MongoDBObject.empty). Będziesz musiał wykonać dedykowane żądanie dla każdego zbioru, który posiada twoja baza danych.

Jeśli iteracyjne nad obiektami zwróconych, mogłoby być lepiej iteracyjne z zwracanej przez dao.find zamiast robić dwóch powtórzeń (jeden z toList od Iterator cecha potem jeszcze na List[T]).

2 °/Salat odwzorowuje klucz _id ze swoim polu Identyfikator klasy. Jeśli zdefiniujesz klasę z polem id: ObjectId. To pole jest odwzorowane za pomocą klawisza _id _. Można to zmienić za pomocą @Key adnotacji, jak wskazano w Salat documentation

1

I wdrożone coś takiego:

MyDAO.ids(MongoDBObject("_id" -> MongoDBObject("$exists" -> true)))

ten pobiera wszystkie identyfikatory, ale ze względu na szeroki zakres tego, co można robić , prawdopodobnie nie najlepsze rozwiązanie w każdej sytuacji. W tej chwili buduję mały system z 5 rekordami danych i używam go, aby zrozumieć, w jaki sposób działa MongoDB.

Jeśli była to produkcyjna baza danych zawierająca 1 000 000 wpisów, wówczas to (lub dowolne zapytanie getAll) byłoby głupie. Zamiast tego należy rozważyć próbę napisania ukierunkowanego zapytania, które będzie zgodne z prawdziwymi oczekiwaniami.

Powiązane problemy