gpt4 book ai didi

java - 查询从 mongoDB 获取结果

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:21 25 4
gpt4 key购买 nike

我在 MongoDB 中有以下集合

 "userDetails" : [
{
"user" : DBRef("users", "RAVI"),
"class1" : DBRef("classes", "1"),
"class2" : DBRef("classes", "2")
},
{
"user" : DBRef("users", "TEJA"),
"class1" : DBRef("classes", "1"),
"class2" : DBRef("classes", "2")
}]

classes
{
"_id" : "1",
"maxScore" : "50",
"subject" : DBRef("subjects", "class1")
}
{
"_id" : "2",
"maxScore" : "80",
"subject" : DBRef("subjects", "class2")
}
users{
"_id" : "RAVI",
"address" : "3-2-2222",
"lastClass" : "1"
"lastScore" : ""
}
{
"_id" : "TEJA",
"address" : "5-23",
"lastClass" : "1"
}

从java程序中,我想查询,当我将输入作为用户名传递时,我想获取该用户及其类详细信息的所有详细信息。有人可以帮我解决这个问题吗?之前我尝试过

BasicDBObject fields = new BasicDBObject("userDetails", 1).append("userDetails", new BasicDBObject("$elemMatch", new BasicDBObject("user.$id", "RAVI")));
BasicQuery query = new BasicQuery(new BasicDBObject(), fields);
List<UserDetails> usrDetailsList = mongoTemplate.find(query, UserDetails.class);

最佳答案

//Considering you have data inserted in your collection, now this following code will fetch a specific record from collection:

BasicDBObject whereQuery = new BasicDBObject();

whereQuery.put("user","RAVI"); //here you are specifying that you want all details of user-RAVI

DBCursor cursor = collection.find(whereQuery);

while(cursor.hasNext()) {
System.out.println(cursor.next());
}

关于java - 查询从 mongoDB 获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41159597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com