Marcin S.
Marcin S.

Reputation: 11191

QueryBuilder and 'in' method in mongo issue

This statement works fine in mongo console:

db.system_integrator.find( { person_name: { $in: [ "Mick Jagger", "Bob Dyla", "Tony Orlando" ] } } )

I'm trying to build equivalent one in java using QueryBuilder as following:

DBObject query = new BasicDBObject(); 
query.put(dbFieldName, "[ \"Mick Jagger\", \"Bob Dyla\", \"Tony Orlando\" ]"); 
qb.in( query );

however this way of building a query doesn't work. What I'm doing wrong here?

Upvotes: 0

Views: 196

Answers (1)

Parvin Gasimzade
Parvin Gasimzade

Reputation: 26012

You can do this in Java as follows :

BasicDBList list = new BasicDBList();
list.add("Mick Jagger");
list.add("Bob Dyla");
list.add("Tony Orlando");

QueryBuilder qb = new QueryBuilder();
qb.put("person_name").in(list);

or

BasicDBList list = new BasicDBList();
list.add("Mick Jagger");
list.add("Bob Dyla");
list.add("Tony Orlando");

DBObject query = new BasicDBObject();
query.put("person_name", new BasicDBObject("$in", list));

Upvotes: 1

Related Questions