2015-04-28 11 views
6

Przenoszę swoje aplikacje do wersji MongoDb 3.0.2. Nie mam problemów z wstawianiem, znajdowaniem i usuwaniem. Ale, Problemy z aktualizacją. Specjalnie z eq().Aktualizacje MongoDB ze sterownikiem java w wersji 3.0

W tym zdaniu:

coll.updateOne(eq("_id", id), new Document("$set", new Document("name", name))); 

Zmienna id definiuje ObjectId. Eclipse daje mi błąd:

The method eq(String, ObjectId) is undefined for the type SystemDAO (my java class).

Co robię źle? Śledziłem przykłady w dokumentach sterownika java Mongo.

+0

proszę pokazać deklarację i inicjalizację "id" wygląda na to, że nie jest zdefiniowana jako 'ObjectId' – Simulant

+0

public boolean modifyName (id id., Nazwa ciągu) {coll.updateOne (eq (" _ id ", id), nowy dokument ("$ set", nowy dokument ("nazwa", nazwa)));} – Augusto

+0

Myślę, że to, czego Eclipse nie rozpoznaje, to funkcja eq – Augusto

Odpowiedz

7

Musisz zaimportować statyczną metodę eq z paczki com.mongodb.client.model.Filters.

dodaj Infront swojej klasie do innych importu:

import static com.mongodb.client.model.Filters.*; 

W Eclipse powinien dać szybkie-fix do importowania odpowiedni pakiet, jeśli zrobić myszkę na błąd. Ale w przypadku importu statycznego nie działa to cały czas.

+0

Dziękuję bardzo !! Zadziałało!!. Nie wiem, dlaczego Eclipse nie dał mi sugestii dodania tego importu. Dało mi to tylko 1 szybki dostęp: Create method eq (String, ObjectId) i nic o dodawaniu importu – Augusto

Powiązane problemy