java - MongoDB 类似于 Java 中的操作

标签 java mongodb

我在 mongodb 中有一个字段,其中文档以 1.1 之类的单词开头。 , 2.0. , 2.1., 3.0.,3.1 等,但我需要查询以 1.1. 或 2.0 等特定字符串开头的文档。等等,我不在乎这个 1.1 之后会发生什么。或 2.0。或者。 我试过这样的查询

BasicDBObject whereQuerylevel = new BasicDBObject();
whereQuerylevel.put("level",new BasicDBObject("$regex", "^1.1."));
myCollection.find(whereQuerylevel);

我如何获取以 1.1 开头的字段中的文档。或 2.0。 mongodb 中有类似的东西吗?

最佳答案

BasicDBObject regexQuery = new BasicDBObject();
regexQuery.put("level", new BasicDBObject("$regex", "^[1-9].[1-9]");
myCollection.find(regexQuery);

如果您需要限制条件中的数字,您可以更改括号内的范围。即 [1-9] 如果您想限制它,将为您提供 1-9 之间的所有数字,因此第一个数字将在 1-3 之间,点后的第二个数字仅为零或 1,然后您可以将其更改为[1-3].[0-1]

我强烈建议阅读此 regular expression interactive tutorial

关于java - MongoDB 类似于 Java 中的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27371561/

相关文章:

java - Selenium WebDriver、使用 Java 的 TestNG

Java setBackground() 混淆

node.js - 当关键字列表为空时如何返回所有文档

java - Spring 数据 MongoDB : how to partially map domain object to MongoDB?

java - 布局更改可见性

java - 来自java的多部分文件上传发布请求

java - 如果服务器未运行,则终止 Spring Cloud 客户端

node.js - 如何使用 MongoDB 和 RabbitMQ 在 Docker 中运行 NodeJS?

javascript - 提高 MongoDB 文本搜索性能

node.js - 尝试进行嵌套查询时已调用 Node 异步回调