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

Jak promítnout pouze odpovídající pole vnořeného pole v dotazu mongo shell

Ok, trikem byl rámec agregace, konkrétně se odvíjet .

> db.mytest.aggregate({$unwind: '$top'},
                      {$unwind: '$top.nest'},
                      {$match: {'top.nest.p': 6}}
  )

I když v případě, že jsem měl více dílčích shod v jednom objektu, vrátilo by se více výsledků namísto v jejich původní seskupené podobě. Předpokládám, že mohu vložit $group do potrubí.

Ačkoli související odkazy, které jsem našel, navrhovaly redesign schématu jako jedinou kompletní opravu právě teď, takže je to rozhodně lepší než nic.




  1. mongoDB:jak zvrátit $unwind

  2. Měly by dva moduly používat stejné připojení redis? (Pracuji s Flaskem)

  3. Struktura přírůstkové matice v MongoDb

  4. Rozšíření Mongo php po aktualizaci Heroku (skladatel)