recherche

Maison  >  Questions et réponses  >  le corps du texte

mongodb array query - Comment filtrer les sous-documents lors d'une requête MongoDB?

Il existe un document qui contient un sous-document, à peu près comme suit :

{
    "_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")
        }
    ]
}

Le besoin actuel est de savoir comment utiliser PHP 7 pour interroger le nombre de correspondances en fonction de plate_number et lev_code

Une autre question est : comment faire correspondre les sous-documents qui remplissent les conditions ?

# 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")
        }
    ]
}
阿神阿神2750 Il y a quelques jours931

répondre à tous(1)je répondrai

  • 怪我咯

    怪我咯2017-06-10 09:50:08

    Il est recommandé d'utiliser le $filter de l'agrégation MongoDB :

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

    J'adore MongoDB ! Amusez-vous!

    répondre
    0
  • Annulerrépondre