gpt4 book ai didi

java - 使用 Java 驱动程序从 MongoDB 数组中检索一组文档

转载 作者:行者123 更新时间:2023-11-30 04:14:34 25 4
gpt4 key购买 nike

我有一个像这样的 MongoDB 文档结构:

{ 
"name": "list"
"config": "default"
"items": [
{
"email": "user1@mail.com"
"status": true
"number": 123
},
...
{
"email": "user100@mail.com"
"status": false
"number": 432
},
]
}

现在,我如何检索符合特定条件的多个子文档。例如,我想获取 status = true 的所有文档。我知道可以使用 $elemMatch,但它仅返回第一个匹配实例,并且我需要与指定条件相对应的 ALL 文档。请说明如何使用 Java 来完成此操作。

最佳答案

您可以按如下方式在 Java 中执行此操作。

        Mongo mongo = new Mongo("localhost:27017");
DB db = mongo.getDB("myDB");
DBCollection coll = db.getCollection("myCollection");

DBObject statusQuery = new BasicDBObject("status", true);
DBObject elemMatchQuery = new BasicDBObject("$elemMatch", statusQuery);

DBObject fields = new BasicDBObject();
fields.put("items", elemMatchQuery);
fields.put("name", 1);
fields.put("config", 1);

DBCursor cur = coll.find(new BasicDBObject(), fields);

while (cur.hasNext()) {
DBObject obj = cur.next();
// Get fields from object
}

关于java - 使用 Java 驱动程序从 MongoDB 数组中检索一组文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18736898/

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