我已经将一个参数从JSP传递给了servlet。如何在find()查询中包含它以在MongoDB中搜索该结果?
答案 0 :(得分:0)
假设您已经解决了所有JSP / servlet的问题,请查看有关Java Mongo Driver的this教程,您可以在其中找到如何执行该操作以及其他基本操作。
按照本教程,您可以在查询中定义过滤器,如下所示:
package com.mongoclient.MongoHelloWorld;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import static com.mongodb.client.model.Filters.eq;
public class MongoHelloWorldApplication {
public static void main(String[] args) {
// Create Mongo connection to the DB
MongoClient mongoClient = new MongoClient( "localhost", 27017);
// Select the DB
MongoDatabase database = mongoClient.getDatabase("myDatabase");
// Select the collection
MongoCollection<Document> collection = database.getCollection("myCollection");
// Make the query
Document myDoc = collection.find(eq("myField", "myValue")).first();
// Print result
System.out.println(myDoc.toJson());
}
}
在前面的示例中,我使用 eq 进行相等性比较,但是您有类似 gt 或 的java类进行不等式比较,和,或等等...您可以查看文档以获取更多示例。
问候!