如何使用 MongoDB Java 检查集合 (Find_IN_SET) 中的字符串
How to check a String in a set (Find_IN_SET) using MongoDB Java
我正在使用 Java 在 MongoDB 中编写 Web 服务代码,我有一个 table,其中一列包含范围值,例如 1,2,3或 3,4,5 或 6,7,8 。给定一个值 2 ,我必须检查该值是否位于每个指定范围内
我在 MYSQL
中尝试了以下查询
select * from Table where FIND_IN_SET('2',RangeField)
我试过的 java 代码是
BasicDBObject whereQuery = new BasicDBObject();
whereQuery.put("RangeField","2");
DBCursor cursor = col.find(whereQuery);
我不知道在 Mongo Java 中定义 find_in_set 的正确语法。
RangeField 是 table 中的字符串,类似 1,2,3 或 3f,5f。如何在 mondoDB java 代码
中复制相同内容
谢谢
您可以使用regex
获取所有包含搜索字符串的记录。
在MongoDB中:
db.Table.find({"RangeField":{$regex:"2"}}); //List records which contain 2 anywhere
在Java中:
BasicDBObject dbObject = new BasicDBObject();
dbObject.put("RangeField", java.util.regex.Pattern.compile("2"));
try(DBCursor cursor = collection.find(dbObject))
{
while (cursor.hasNext())
{
System.out.println((BasicDBObject) cursor.next());
}
}
我正在使用 Java 在 MongoDB 中编写 Web 服务代码,我有一个 table,其中一列包含范围值,例如 1,2,3或 3,4,5 或 6,7,8 。给定一个值 2 ,我必须检查该值是否位于每个指定范围内 我在 MYSQL
中尝试了以下查询select * from Table where FIND_IN_SET('2',RangeField)
我试过的 java 代码是
BasicDBObject whereQuery = new BasicDBObject();
whereQuery.put("RangeField","2");
DBCursor cursor = col.find(whereQuery);
我不知道在 Mongo Java 中定义 find_in_set 的正确语法。 RangeField 是 table 中的字符串,类似 1,2,3 或 3f,5f。如何在 mondoDB java 代码
中复制相同内容谢谢
您可以使用regex
获取所有包含搜索字符串的记录。
在MongoDB中:
db.Table.find({"RangeField":{$regex:"2"}}); //List records which contain 2 anywhere
在Java中:
BasicDBObject dbObject = new BasicDBObject();
dbObject.put("RangeField", java.util.regex.Pattern.compile("2"));
try(DBCursor cursor = collection.find(dbObject))
{
while (cursor.hasNext())
{
System.out.println((BasicDBObject) cursor.next());
}
}