mongodb in查询 java
时间: 2023-07-13 10:16:23 浏览: 51
在 Java 中使用 MongoDB 的 `in` 查询,可以使用 `com.mongodb.client.model.Filters` 类的 `in` 静态方法。
以下是一个示例代码:
```java
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.Projections;
import org.bson.Document;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 连接 MongoDB 数据库
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("testdb");
MongoCollection<Document> collection = database.getCollection("testcol");
// 构造查询条件和投影条件
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
Document query = Filters.in("name", names);
Document projection = Projections.exclude("_id");
// 查询
List<Document> results = collection.find(query).projection(projection).into(new ArrayList<>());
for (Document doc : results) {
System.out.println(doc.toJson());
}
// 关闭连接
mongoClient.close();
}
}
```
在上述示例代码中,我们首先连接了 MongoDB 数据库,然后构造了一个 `in` 查询条件,其中查询字段为 `name`,要求值必须在 `names` 列表中出现。然后我们还构造了一个投影条件,排除 `_id` 字段。最后我们执行了查询并输出结果。