【问题标题】:MongoDB Equivalent to SQL query with Java Driver?MongoDB 相当于使用 Java 驱动程序的 SQL 查询?
【发布时间】:2010-11-27 06:10:39
【问题描述】:

我需要知道如何在使用 Java 驱动程序的 MongoDB 查询中使用 where

SELECT COLUMN1, COLUMN2 WHERE COLOUM3 = 'KeyWord';

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

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

任何建议都将不胜感激!!!!

谢谢!

【问题讨论】:

    标签: java mongodb


    【解决方案1】:

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

    您应该使用“文档样式查询”find()

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

    版本

    如果您有一个名为 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

    【讨论】:

      【解决方案2】:

      有一个名为www.querymongo.com 的站点将 SQL 语法转换为 MongoDB 语法。对于这种情况,它真的很有用。

      在上面的例子中:

      SQL:

      SELECT * FROM collection WHERE COLOUM3 = 'KeyWord';
      

      在 MongoDB 中变成这个:

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

      【讨论】:

      • 这似乎是未公开的自我推销。请注意,这违反了 Stack Overflow 上的规则,如果继续,您很快就会被标记为垃圾邮件发送者。
      猜你喜欢
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-04
      相关资源
      最近更新 更多