【问题标题】:nested query in mongodbMongoDB中的嵌套查询
【发布时间】:2015-11-19 04:59:49
【问题描述】:

如何在 mongoDB 2 或 3 中查询以下文档中的所有标签:

{
    "_id" : ObjectId("55dc45017137a4e70b8b4569"),
    "campainName" : "",
    "themeName" : "theme1",
    "emailListName" : "eiEmails",
    "emailSubject" : "",
    "emailFrom" : "",
    "allNews" : [ 
        {
            "type" : "1",
            "tag" : ['aa','bb','cc'],
            "link" : "",
            "image" : ""
        }
    ]
},
{
    "_id" : ObjectId("55dc45017137a4e70b8b4570"),
    "campainName" : "",
    "themeName" : "theme2",
    "emailListName" : "afaeiEmails",
    "emailSubject" : "",
    "emailFrom" : "",
    "allNews" : [ 
        {
            "type" : "1",
            "tag" : ['da','db','dc'],
            "link" : "",
            "image" : ""
        }
    ]
}

我需要这样的结果:

{['aa','bb','cc'], ['da','db','dc']}

我需要学说 odm 中的查询风格。

【问题讨论】:

    标签: mongodb doctrine odm database


    【解决方案1】:

    试试这样的:

    db.collection.find({}, {"allNews.tag" : 1, _id : 0})

    【讨论】:

    • 它将为您提供:{ "allNews": [ { "tag": [ "aa", "bb", "cc" ] } ] } { "allNews": [ { "tag": [ "da", "db", "dc" ] } ] } 这可能与您在不使用聚合管道的情况下获得的一样接近。
    • 此文档paste.ubuntu.com/12192513 的答案是正确的,不适用于问题的文档。 allNews 是一个列表。
    猜你喜欢
    • 2021-06-20
    • 1970-01-01
    • 2020-02-26
    • 2019-11-11
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 2020-01-21
    • 2023-03-08
    相关资源
    最近更新 更多