gpt4 book ai didi

mongodb - 使用 Mongodb 的 java 驱动程序,如何在同一字段上搜索多个值?

转载 作者:可可西里 更新时间:2023-11-01 09:31:57 25 4
gpt4 key购买 nike

我对 mongo 有点陌生。我想在一个字段上查询多个值。在 SQL 中,我想要这样的东西:

select * from table where field in ("foo","bar")

假设我在mongodb中有如下文件

{
"_id":"foo"
}
{
"_id":"bar"
}

我只是想模仿这个查询:

db.coll.find( { _id: { $in: [ "foo", "bar" ] } } );

我想检索所有 _id 为“foo”或“bar”的文档。我想使用 java 驱动程序来执行此操作。

我试过类似的东西

BasicDBObject query = new DBObject()
query.append("_id","foo");
query.append("_id","bar");
collection.find(query);

但这似乎只返回“bar”文档。

请帮忙

最佳答案

要使用 $in 运算符,使用 QueryBuilder 来创建这样的查询可能更容易:

QueryBuilder qb = new QueryBuilder();
qb.put("_id").in(new String[] {"foo", "bar"});
collection.find(qb.get());

或更清洁一点:

DBObject query = QueryBuilder.start("_id").in(new String[] {"foo", "bar"}).get();
collection.find(query);

关于mongodb - 使用 Mongodb 的 java 驱动程序,如何在同一字段上搜索多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15261909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com