MongoDB-Array-Abfrage – Wie filtere ich Unterdokumente beim Abfragen von MongoDB?
阿神
阿神 2017-06-10 09:48:08
0
1
906

Es gibt ein Dokument, das ein Unterdokument enthält, ungefähr wie folgt:

{
    "_id" : ObjectId("59376b35a233be856d4a0731"),
    "plate_number" : "京A11111",
    "breakdown" : [
        {
            "file_id" : "4003732",
            "case_number" : "xxxx",
            "lev_code" : "B231",
            "crdate" : ISODate("2016-01-19T17:00:43Z")
        },
        {
            "file_id" : "4010523",
            "case_number" : "xxxx",
            "lev_code" : "B231",
            "crdate" : ISODate("2016-06-29T14:53:36Z")
        },
        {
            "file_id" : "4010980",
            "case_number" : "xxxx",
            "lev_code" : "B211",
            "crdate" : ISODate("2016-07-01T17:18:40Z")
        }
    ]
}

Der aktuelle Bedarf besteht darin, PHP 7 zu verwenden, um die Anzahl der Übereinstimmungen basierend auf Plate_Number und Lev_code abzufragen

Eine weitere Frage ist, wie Unterdokumente abgeglichen werden können, die die Bedingungen erfüllen.

# mongo
find({plate_number:"京A11111", breakdown.lev_code:"B231"})
{
    "breakdown" : [
        {
            "file_id" : "4003732",
            "case_number" : "xxxx",
            "lev_code" : "B231",
            "crdate" : ISODate("2016-01-19T17:00:43Z")
        },
        {
            "file_id" : "4010523",
            "case_number" : "xxxx",
            "lev_code" : "B231",
            "crdate" : ISODate("2016-06-29T14:53:36Z")
        },
        {
            "file_id" : "4010980",
            "case_number" : "xxxx",
            "lev_code" : "B211",
            "crdate" : ISODate("2016-07-01T17:18:40Z")
        }
    ]
}
阿神
阿神

闭关修行中......

Antworte allen(1)
刘奇

建议使用MongoDB的aggreation的$filter:

https://docs.mongodb.com/mast...

Love MongoDB!Have fun!

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage