目前我正在尝试学习使用Java处理MongoDB。我创建了集合"情节"并插入一份文件:
final Document plotObj = new Document();
plotObj.put(DataKey.PLOT_UUID.getKey(), plot.getUniqueId());
plotObj.put(DataKey.REGION_ID.getKey(), plot.getRegionId());
plotObj.put(DataKey.REGION_WORLD.getKey(), plot.getRegionWorld());
plotObj.put(DataKey.REGION_OWNER.getKey(), plot.getPlotOwner().isPresent() ? plot.getPlotOwner() : null);
plotObj.put(DataKey.PLOT_TRUSTED.getKey(), new BasicDBList().addAll(plot.getTrusted()));
this.collection.insertOne(plotObj);
" DataKey.PLOT_UUID.getKey()"代表一个字符串。 " plot.getUniqueId()"表示java.util.UUID。插入此文档后,我想查询它:
public boolean hasPlot(UUID plotId){
final BasicDBObject query = new BasicDBObject(DataKey.PLOT_UUID.getKey(), new BasicDBObject("$eq", plotId));
return this.collection.find(query).iterator().hasNext();
}
但是,尽管已成功插入Document,但此方法始终返回false事件。
也许这个问题可以轻松修复但是:提前谢谢! :)
答案 0 :(得分:0)
根据文档,您不需要$ eq 写一下
new BasicDBObject(DataKey.PLOT_UUID.getKey(), plotId));