kan*_*ane 3 mongodb mongodb-java
我对 mongo 有点陌生。我想在一个字段上查询多个值。在 SQL 中,我想要这样的东西:
select * from table where field in ("foo","bar")
Run Code Online (Sandbox Code Playgroud)
假设我在mongodb中有以下文件
{
"_id":"foo"
}
{
"_id":"bar"
}
Run Code Online (Sandbox Code Playgroud)
我只是想模仿这个查询:
db.coll.find( { _id: { $in: [ "foo", "bar" ] } } );
Run Code Online (Sandbox Code Playgroud)
我想检索 _id 为“foo”或“bar”的所有文档。我想使用 java 驱动程序来做到这一点。
我试过类似的东西
BasicDBObject query = new DBObject()
query.append("_id","foo");
query.append("_id","bar");
collection.find(query);
Run Code Online (Sandbox Code Playgroud)
但这似乎只返回“bar”文件。
请帮忙
要使用$in运算符,QueryBuilder创建这样的查询可能更容易:
QueryBuilder qb = new QueryBuilder();
qb.put("_id").in(new String[] {"foo", "bar"});
collection.find(qb.get());
Run Code Online (Sandbox Code Playgroud)
或者更清洁一点:
DBObject query = QueryBuilder.start("_id").in(new String[] {"foo", "bar"}).get();
collection.find(query);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4623 次 |
| 最近记录: |