mongodb tutorial for java에서 mongo collection에서 쿼리하는 방법을 찾았지만 사용하는 eq
은 저에게 적합하지 않습니다! mongo와 java가있는 컬렉션에서 문서를 필터링하는 방법을 알고 있습니까?왜 mongo-java-driver에 대한 eq가 존재하지 않습니까?
package Database;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
public class StackOverflow {
public static void main(String[] args) {
// insert something to mongo:
final String URI = "mongodb://localhost:27017";
final String DB = "StackOverflowQuestion";
final String COLLECTION = "eqDoesntExcist";
MongoClientURI connection = new MongoClientURI(URI);
MongoClient mongo = new MongoClient(connection);
MongoDatabase database = mongo.getDatabase(DB);
MongoCollection<Document> collection = database.getCollection(COLLECTION);
Document doc = new Document("name", "Troy").append("height", 185);
collection.insertOne(doc);
doc = new Document("name", "Ann").append("height", 175);
collection.insertOne(doc);
// read something from mongo
FindIterable<Document> findIt = collection.find(eq("name", "Troy"));
// ERROR!!! the method eq(String, String) is undefined!
mongo.close();
}
}
내가 좋아하는 뭔가를 원하는 :
이
내 시도이다 컴파일러는 클래스StackOverflow
기대 때문에
collection.find(eq("name", "Troy"));
:
SELECT * from eqDoesntExcist WHERE name = "Troy"
왜 자습서를 착각합니까? –
@WW 튜토리얼은 실수가 아니며 답변을 업데이트했습니다. 이러한 형식을 사용하려면 사용중인 메소드의 정적 가져 오기를 포함시켜야합니다. 귀하의 경우에는 'Filters.eq'. – nullpointer