Ramdiman
Ramdiman

Reputation: 13

Convert mongoDB shell command to java

I am trying to convert the mongodb shell code below to java. However, i run into some problems doing so. Can anyone help me with this issue?

MongoDB

var friend_ids = db.users.findOne(ObjectId("...")).friend_ids
db.users.find({_id:{$in:friend_ids}})

Java

ObjectId id = new ObjectId("...");                  
BasicDBObject fields = new BasicDBObject("friend_ids", 1).append("_id", false);
DBObject f_ids = coll.findOne(id, fields);
BasicDBObject query = new BasicDBObject("_id",(new BasicDBObject("$in", f_ids)));
DBCursor cursor = coll.find(query);

The java query is as follows.

query={ "_id" : { "$in" : { "friend_ids" : [ { "$oid" : "..."} , { "$oid" : "..."} , { "$oid" : "..."}]}}}, 

thanks

Upvotes: 1

Views: 953

Answers (1)

Mustafa Genç
Mustafa Genç

Reputation: 2579

You need extract friend_ids from f_ids.

BasicDBObject query = new BasicDBObject("_id",(new BasicDBObject("$in", f_ids.get("friend_ids"))));

Upvotes: 1

Related Questions