MongoDB 选择查询的 Java 等效项

标签 java mongodb

我想检索以下信息:

select names from database where names like 'Jon';

但对于 Java 中的 MongoDB。本质上,它应该返回其中包含单词 Jon 的所有名称,例如 Jonathan、Jong 等。我知道 MongoDB 中有 $in 运算符,但我如何在 Java 中做同样的事情,使用Java驱动程序?我一直试图到处寻找它,但什么也没得到。我试过:query = new BasicDBObject("names", new BasicDBObject("$in", "Jon"));query = new BasicDBObject("names", new BasicDBObject("$in", Jon));

但他们都没有工作:(请帮忙!

最佳答案

与该 SELECT 语句等效的 MongoDB Java 驱动程序将是:

BasicDBObject fields = new BasicDBObject().append("name", 1); // SELECT name
BasicDBObject query = new BasicDBObject().append("name", "Jon"); // WHERE name = "Jon"
DBCursor results = yourCollection.find(query, fields); // FROM yourCollection

当你想搜索字符串的一部分时,可以使用$regex操作符:

query = new BasicDBObject("name", new BasicDBObject("$regex", "Jon"));

这将为您获取名称与 regular expression 匹配的所有对象Jon,即在任何地方都包含字符串“Jon”的所有内容。

关于MongoDB 选择查询的 Java 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13712230/

相关文章:

java - Android:为什么要设置可见性(View.GONE);或 setVisibility(View.INVISIBLE);不工作

java - Android 布局无法在全屏上拉伸(stretch)

java - 无法使用java连接云上的mongodb

javascript - Mongodb 通过 id 在数组中找到一个对象

Python将简历图像存储在mongodb gridfs中

java - junit日志杂乱,为什么会重复语句?

java - Mockito 模拟 void 方法

mongodb - 使用 mongo 查找某人在未来 30 天内是否过生日

java - 在 Main 方法中使用返回的数组

mongodb - 如何使用聚合 MongoDB 进行 SELECT DISTINCT