溫馨提示×

Java中mongodb模糊查詢怎么實現(xiàn)

小億
161
2023-11-18 13:31:41
欄目: 云計算

在Java中使用MongoDB進(jìn)行模糊查詢可以使用正則表達(dá)式來實現(xiàn)。以下是一個使用Java驅(qū)動程序?qū)崿F(xiàn)模糊查詢的例子:

import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        // 連接到MongoDB數(shù)據(jù)庫
        MongoClient mongoClient = new MongoClient("localhost", 27017);
        MongoCredential credential = MongoCredential.createCredential("username", "database", "password".toCharArray());

        // 指定要連接的數(shù)據(jù)庫
        MongoDatabase database = mongoClient.getDatabase("mydb");

        // 獲取要查詢的集合
        MongoCollection<Document> collection = database.getCollection("mycollection");

        // 構(gòu)造查詢條件
        Document query = new Document("name", java.util.regex.Pattern.compile("keyword"));

        // 執(zhí)行查詢
        MongoCursor<Document> cursor = collection.find(query).iterator();

        // 輸出結(jié)果
        while (cursor.hasNext()) {
            Document document = cursor.next();
            System.out.println(document.toJson());
        }

        // 關(guān)閉連接
        mongoClient.close();
    }
}

在上述代碼中,我們使用java.util.regex.Pattern類來構(gòu)建正則表達(dá)式,將其作為查詢條件傳遞給find方法進(jìn)行模糊查詢。其中,"name"是要查詢的字段名,"keyword"是要模糊匹配的關(guān)鍵字。

請根據(jù)實際情況替換localhost、27017、usernamedatabasepassword為相應(yīng)的MongoDB連接信息。

0