MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB v2.4.9 sortiert nach booleschen Feldern

Der obige Code funktioniert, meine Daten waren schlecht. Wie ich im Kommentar oben schrieb, hatten einige der Dokumente isFoo als String (nicht Boolean) und deshalb sah ich die gemischten Ergebnisse.

Ich musste den Feldtyp von String in Boolean ändern, also habe ich Folgendes versucht:

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

Aber das hat gerade alle isFoo-Felder zu Objekten gemacht.

Da ich es wirklich leid war, mich mit diesem Problem zu befassen, habe ich einfach Folgendes verwendet, um alle isFoo-Felder auf „false“ zu setzen und die Änderungen einfach manuell zu handhaben.

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

Das war sehr ärgerlich.