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

Extrahujte dvě hodnoty podpole v mongodb pomocí $elemMatch

To není možné přímo pomocí find a elemMatch kvůli následujícímu omezení elemMatch a mongo array fields .

a omezení pole pole mongo, jak je uvedeno níže

Takže jste buď zkusili toto, abyste zjistili pouze exam nebo quiz

db.collectionName.find({"_id":22,"scores":{"$elemMatch":{"type":"exam"}}},{"scores.$.type":1}).pretty()

zobrazuje pouze exam pole skóre.

Jinak byste měli projít aggregation




  1. chyba pymongo:bson.errors.InvalidBSON:kodek 'utf8' nemůže dekódovat bajt 0xa1 na pozici 25:neplatný počáteční bajt

  2. mongodb získat odlišné záznamy

  3. získat maximální hodnotu v mongoose

  4. Je možné MongoDb TTL na vnořeném dokumentu?