2015-05-14 119 views
-2

我试图找出一个对象(文档)是否存在于一个集合中。检查对象(文档)是否存在于MongoDB中(使用Jongo)

这是我试过的,但我卡住了。

@DbTable(name = "websites") 
private MongoCollection websitesTable; 

private boolean isInTable(String url) { 
    FindOne p = websitesTable.findOne("{url: #}", url); 
    return false; 
} 

如何检查,如果给出url已经在集合中?任何帮助赞赏。

+2

user1924244,这不是一个服务台。你无法从其他类似问题中获得帮助,那么这不是合适的地方。所以对于那些真正陷入困境的人来说,所以请不要指定人们应该做什么,不要做什么。 – Jaques

+0

@贾克斯,你是谁来告诉什么是“真正”的问题,什么不是? – aioobe

+0

@ user1924244,看看这个文档:[检查文档是否存在 - MongoDB缓慢findOne vs查找](https://blog.serverdensity.com/checking-if-a-document-exists-mongodb-slow-findone -VS-找到/)。它建议使用以下命令:'db.collection.find({_ id:“myId”},{_id:1})。limit(1))'。 – aioobe

回答

1

试试这个:

return websitesTable.findOne("{url: #}", url) 
        .as(Map.class) 
        .iterator() 
        .hasNext(); 
+0

我改变了一点:'Map website = websitesTable.findOne(“{url:#}”,url).as(Map.class);'然后'return website == null?假:真;'现在它工作!我不知道这是否正确,但它的工作原理是这样的。 – user1924244

+0

太好了。请注意,返回可以简化为'return website!= null;' – aioobe

+0

对,谢谢! – user1924244