MongoDB相当于使用Java Driver的SQL查询?

时间:2010-11-27 06:10:39

标签: java mongodb

我需要知道如何在使用Java Driver的MongoDB查询中使用where

SELECT COLUMN1, COLUMN2 WHERE COLOUM3 = 'KeyWord';

我有一个键名及其值,我想找到一些其他键/值。我想我可以使用$where。但是,我不知道它在java中的语法。

如何在我的mongo查询中使用where

任何建议都会感激!!!!

谢谢!

2 个答案:

答案 0 :(得分:3)

您通常不需要使用$ where ...

您应该使用"文档样式的查询" find()

基本上 find()是MongoDB的版本......

如果您有一个名为 mycollection 的集合以及一个名为 attribute1 的属性(这与 COLUMN1 完全相同)

所以要获得像这样的SQL查询...

的结果
SELECT * WHERE COLOUM3 = 'KeyWord';

通过MongoDB shell,您可以像这样使用 find() ......

> db.mycollection.find({attribute1:"KeyWord"})

对于大多数正常的mongodb查询,你真的不需要使用$ where。

这里有更多帮助:http://www.mongodb.org/display/DOCS/Querying

答案 1 :(得分:1)

有一个名为www.querymongo.com的网站,它将SQL语法转换为MongoDB语法。这对于这样的案例非常有用。

如上例所示:

SQL:

SELECT * FROM collection WHERE COLOUM3 = 'KeyWord';

在MongoDB中成为这个:

db.collection.find({
    "COLOUM3": "KeyWord"
});