我的 MongoDB 文档是这样的:
"_id":"C\Users...\1.html"{
"data": Object[
gambia:1
estonia:1
...etc
]
}
不知道我写的结构是否正确,所以给你一张图:
我的问题是我想从数据库中获取与给定的特定单词匹配的所有文档。例如,如果用户输入“汽车”,我需要其数据中包含汽车一词的所有文档。但我找不到怎么做。
我尝试了什么?我试图获取与“冈比亚”一词匹配的第一个文档,我知道它存在于第一个文档中:
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);
但是我得到了一个空指针异常。
您可以使用 mongodb 函数来实现这一点$exists
。
这个函数告诉你一个确定的字段是否在你的集合中。
例如:
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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句