私は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