MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB - Намерете документи, отговарящи на определени условия за неизвестни ключове на полета

Трябва да започнете с $objectToArray за динамично четене на вашите ключове. След това можете да $map свойства заедно с $anyElementTrue за да открие дали има някакво вложено поле в thing съдържащ {"attribute1":"typeC"} :

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

Mongo Playground



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. SignalR Core - Грешка:Websocket е затворен с код на състоянието:1006

  2. Как да се присъедините и сортирате няколко колекции в един конвейер в Mongo

  3. Каква би била мотивацията за интегриране на mongodb със solr

  4. Имате нужда от предложения за препоръка на художник за проектиране

  5. Mongoid заявка за хеш полета