MongoDB:简单的查询问题

时间:2015-09-23 19:25:06

标签: java mongodb database

目前我正在尝试学习使用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事件。

也许这个问题可以轻松修复但是:提前谢谢! :)

1 个答案:

答案 0 :(得分:0)

根据文档,您不需要$ eq 写一下

new BasicDBObject(DataKey.PLOT_UUID.getKey(), plotId));