sql >> Database >  >> NoSQL >> MongoDB

MongoDB-jokerteken in de sleutel van een query

Zoals gevraagd is dit niet mogelijk. Het serverprobleem waarnaar u heeft gelinkt, staat nog steeds onder "problemen waarvan we niet zeker zijn" .

MongoDB heeft enige intelligentie rond het gebruik van arrays, en ik denk dat dat deel uitmaakt van de complexiteit rond een dergelijke functie.

Voer de volgende query uit db.foo.find({ 'a.b' : 4 } ) . Deze zoekopdracht komt overeen met de volgende documenten.

{ a: { b: 4 } }
{ a: [ { b: 4 } ] }

Dus wat doet "wildcard" hier? db.foo.find( { a.* : 4 } ) Komt het overeen met het eerste document? Hoe zit het met de tweede?

Bovendien, wat betekent dit semantisch? Zoals je hebt beschreven, is de zoekopdracht in feite "zoek documenten waarbij elk veld in dat document een waarde van 4 heeft" . Dat is een beetje ongebruikelijk.

Is er een specifieke semantiek die u probeert te bereiken? Misschien krijgt u door een wijziging in de documentstructuur de gewenste zoekopdracht.




  1. MongoDB gemaakte bestanden

  2. MongoDB installeren en configureren op Ubuntu

  3. Apache HBase-schrijfpad

  4. MongoDB - Gegevens importeren