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