首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Mongodb-java驱动中获取数组ArrayOfObjects的值

如何在Mongodb-java驱动中获取数组ArrayOfObjects的值
EN

Stack Overflow用户
提问于 2020-10-22 15:44:17
回答 1查看 25关注 0票数 0

我的文档如下所示,需要获取电子邮件Systems.Bob的值,电子邮件Systems.System = Bob .I已经尝试了以下MongodbQuery,但没有得到正确的结果,您可以建议如何使用Mongodb .Any驱动程序获得所需的结果。查询: db.users.find( {“邮件系统”:{ $elemMatch:{$eq:"Atlas"} }} );

代码语言:javascript
复制
{ 
    "_id" : ObjectId("5f0890e870e631865877e"), 
    "user" : "testuser", 
    "Email" : "testuser@sample.com", 
    "Batch Systems" : [
        "STAR", 
        "STORY", 
        "ITEMS",    
    ], 
    "Email Systems" : [
        {
            "Bob" : {
                "System" : "Bob", 
                **"result"** : true
            }
        }, 
        {
            "Wild" : {
                "System" : "Wild", 
                "result" : true
            }
        },
        {
            "CRaft" : {
                "System" : "Craft", 
                "result" : false
            }
        }
    ]
}
EN

回答 1

Stack Overflow用户

发布于 2020-10-22 16:26:45

要获取Email Systems.Bob,可以使用以下查询:

代码语言:javascript
复制
db.users.find({ "Email Systems.Bob": { $exists: true} })

来获取Email Systems[].{dynamic-key}.System == 'Bob'

我认为在查询AFAIK中传递某种动态键的正则表达式是不可能的。

在这里,您可以获取所有带有字段Email Systems的文档,并在java代码中对其进行过滤。(虽然效率不高)

代码语言:javascript
复制
db.users.find({ "Email Systems": { $exists: true} })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64477532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档