2016-11-24 56 views
0

如何寫的MongoDB使用Java查詢在此如何使用Java

db.Tasks.find({'assignedMember': {'$elemMatch': {'userId': '54782bfce4b086cb31d51dd5', 'status': 'ASSIGNED'}}}).pretty() 
+0

你能更清楚你想做什麼嗎? –

回答

1

使用哈希映射在此查詢的mongodb寫下面是在OP查詢的Java代碼。您可能需要在下面的代碼中相應地更改集合名稱和數據庫名稱。

MongoDB的Java驅動程序版本3.2.2 =

import org.bson.Document; 

import com.mongodb.MongoClient; 
import com.mongodb.client.FindIterable; 
import com.mongodb.client.MongoCollection; 
import com.mongodb.client.MongoDatabase; 
import com.mongodb.client.model.Filters; 

public class GetDataFromMongodbUsingElemMatch { 
    public static void main(String[] args) { 

     MongoClient client = new MongoClient(); 

     MongoDatabase database = client.getDatabase("localhost"); 

     MongoCollection<Document> userCollection = database.getCollection("users"); 

     FindIterable<Document> users = userCollection.find(Filters.elemMatch("assignedMember", 
       Filters.and(Filters.eq("userId", "54782bfce4b086cb31d51dd5"), Filters.eq("status", "ASSIGNED")))); 

     for (Document user : users) { 
      System.out.println(user.toJson()); 
     } 

     client.close(); 

    } 

} 

測試文件用於測試該代碼: -

{ 
    "_id" : ObjectId("583805ac204e6a612ebaf7e0"), 
    "assignedMember" : [ 
     { 
      "userId" : "54782bfce4b086cb31d51dd5", 
      "status" : "ASSIGNED" 
     } 
    ] 
} 

輸出: -

{ "_id" : { "$oid" : "583805ac204e6a612ebaf7e0" }, "assignedMember" : [{ "userId" : "54782bfce4b086cb31d51dd5", "status" : "ASSIGNED" }] }