Question

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?

Was it helpful?

Solution

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));
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top