sql >> Database >  >> NoSQL >> MongoDB

MongoDB v2.4.9 sorteren op booleaans veld

De bovenstaande code werkt, mijn gegevens waren slecht. Zoals ik in de bovenstaande opmerking schreef, hadden sommige documenten isFoo als een tekenreeks (niet Boolean) en daarom zag ik de gemengde resultaten.

Ik moest het type veld veranderen van String in Boolean, dus ik probeerde dit:

db.users.find( { 'isFoo' : { $exists : true } } ).forEach( function (x) {   x.isFoo = new Boolean(x.isFoo);    db.users.save(x); });

Maar dat veranderde gewoon alle isFoo-velden in Objecten.

Aangezien ik echt moe was van het omgaan met dit probleem, heb ik het volgende gebruikt om alle isFoo-velden op false in te stellen en de wijzigingen gewoon handmatig af te handelen.

db.users.find( { 'isFoo' : { $exists : true } } ).forEach( function (x) {   x.isFoo = false;    db.users.save(x); });

Dit was erg vervelend.




  1. MongoDB:Wat is een goede manier om een ​​lijst van alle unieke tags te krijgen?

  2. node.js slaat grote getallen met drijvende komma op in mongo om te zoeken

  3. ID ophalen van het laatst ingevoegde document in een mongoDB met Java-stuurprogramma

  4. Hoe de naam van de collectie en het model in mangoest te declareren