我的 MongoDB 文檔是這樣的:"_id":"C\Users...\1.html"{"data": Object[ gambia:1 estonia:1 ...etc ]}我不知道我寫的結(jié)構(gòu)是否正確,所以這里有一張圖片:我的問題是我想從數(shù)據(jù)庫中獲取與給定特定單詞匹配的所有文檔。例如,如果用戶輸入“汽車”,我需要其數(shù)據(jù)中包含汽車一詞的所有文檔。但我找不到怎么做。我試過什么?我試圖獲取與我知道它存在于第一個文檔中的單詞“gambia”匹配的第一個文檔: MongoClient mongoClient = MongoClients.create(); MongoDatabase database = mongoClient.getDatabase("motor"); MongoCollection<Document> collection = database.getCollection("dictionary"); String word = "gambia"; Document myDoc = collection.find(Filters.eq("data", word)).first(); System.out.println(myDoc);但我得到一個空指針異常。
1 回答

慕絲7291255
TA貢獻(xiàn)1859條經(jīng)驗 獲得超6個贊
您可以使用 mongodb 函數(shù)來實現(xiàn)這一點$exists。
此函數(shù)告訴您確定的字段是否在您的集合中。
例如:
MongoCollection<Document> collection = database.getCollection("dictionary");
String word = "gambia";
DBObject query = new BasicDBObject("data." + word, new BasicDBObject(
"$exists", true));
Document myDoc = collection.find(query);
System.out.println(myDoc);
添加回答
舉報
0/150
提交
取消