sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB – Najděte dokumenty, které splňují určité podmínky pro neznámé klíče polí

Musíte začít s $objectToArray dynamicky číst vaše klíče. Pak můžete $map vlastnosti spolu s $anyElementTrue zjistit, zda je v thing nějaké vnořené pole obsahující {"attribute1":"typeC"} :

db.collection.aggregate([
    {
        $match: {
            $expr: {
                $anyElementTrue: {
                    $map: {
                        input: { $objectToArray: "$thing" },
                        in: { $eq: [ "$$this.v.attribute1", "typeC" ] }                         
                    }
                }
            }
        }
    }
])

Hřiště Mongo



  1. Mongodb vyhledávání více vnořených polí

  2. Získejte data z mongoDB a Nodejs:toArray není chyba funkce

  3. Vrátí výsledek jako pole pouze hodnot

  4. PHP nemůže načíst dynamickou knihovnu (mongo.so)