Mongodb內嵌數組的完全匹配查詢


樣例數據:


    "cNo" : "11",
    "Details" : [
        {
             "dDate" : ISODate("2017-04-01T00:00:00.000+0800"),
             "bNo" : "No00000000497"
        },
        {
             "dDate" : ISODate("2017-05-01T00:00:00.000+0800"),
             "bNo" : "No00000000497"
        },
        {
            "dDate" : ISODate("2017-06-01T00:00:00.000+0800"),
             "bNo" : "No00000000497"
        }
    ]
}
{
    "cNo" : "12",    
    "Details" : [
        {
            "dDate" : ISODate("2017-04-01T00:00:00.000+0800"),
            "bNo" : "No00000000497"
        },
        {
            "dDate" : ISODate("2017-05-01T00:00:00.000+0800"),
            "bNo" : "No00000000497"
        },
        {
            "dDate" : ISODate("2017-06-01T00:00:00.000+0800"),
            "bNo" : "No00000000500"
        }
    ]
}

    "cNo" : "13",
    "Details" : [
        {
            "dDate" : ISODate("2017-04-01T00:00:00.000+0800"),
            "bNo" : "No00000000497"
        },
        {
            "dDate" : ISODate("2017-05-01T00:00:00.000+0800"),
            "bNo" : "No00000000497"
        },
         {
            "dDate" : ISODate("2017-06-01T00:00:00.000+0800"),
            "bNo" : "No00000000497"
        }
    ]
}

查詢條件:dDate等於2017-06-01,且bNo等於No00000000497的數據

正確查詢語句:{Details:{ $elemMatch:{ "bNo":"No00000000497","dDate":  ISODate("2017-10-01T00:00:00.000+0800") } }}

查詢結果:11、13

(非完全匹配/錯誤)查詢語句:{"Details.bNo":"No00000000497","Details.dDate":ISODate("2017-10-01T00:00:00.000+0800")}

查詢結果:11、12、13


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM