【问题标题】:How to filter records from mongodb in java [duplicate]如何在java中过滤来自mongodb的记录[重复]
【发布时间】:2013-07-15 08:36:42
【问题描述】:

我想从 DB 中跳过一些记录,这些记录在 Java 中有一些字符串(使用 BasicDBOject)。比如说:

“description”是我在名为“comment”的集合中的字段名称

我不希望将“测试消息”作为“描述”字段值的一部分的记录。

【问题讨论】:

  • 这将是一个性能不佳的蛮力查询,因为它将无法使用索引,而是会在每个 description 上运行正则表达式。
  • 问题已经回答过:stackoverflow.com/questions/5608584/…

标签: java mongodb


【解决方案1】:

请参阅http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/#getting-a-set-of-documents-with-a-queryhttp://api.mongodb.org/java/current/com/mongodb/QueryBuilder.html#regex%28java.util.regex.Pattern%29 上的文档,因为您自己似乎没有花太多精力研究这个。代码看起来像:

Mongo m = new Mongo();
m.setWriteConcern(WriteConcern.SAFE);
DBCollection c = m.getDB("testdb").getCollection("collection");

Pattern pattern = Pattern.compile("Test Message");
DBObject query = QueryBuilder.start().
        QueryBuilder.start("description").regex(pattern).get();
System.out.println(c.find(query).count());

【讨论】:

  • 这个答案现在对于 Java API 版本 3.4.1+ 来说已经过时了。
  • 从 2011 年也得到了许多旧答案...
猜你喜欢
  • 2016-02-01
  • 2022-01-08
  • 2020-02-18
  • 2015-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多