sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB v2.4.9 sortera efter booleskt fält

Koden ovan fungerar, min data var dålig. Som jag skrev i kommentaren ovan hade några av dokumenten isFoo som en sträng (inte boolesk) och det var därför jag såg de blandade resultaten.

Jag var tvungen att ändra fälttypen från String till Boolean så jag försökte detta:

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

Men det gjorde bara alla isFoo-fält till objekt.

Eftersom jag var riktigt trött på att ta itu med det här problemet använde jag bara följande för att ställa in alla isFoo-fält på false och bara hantera ändringarna manuellt.

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

Det här var väldigt irriterande.




  1. släpp hela databasen inom ett enda kommando för att återställa dumpen av mongodb

  2. Redis benchmarking för hget- och hset-kommandon

  3. PyMongo - välj underdokument från insamling av regex

  4. Generera PDF med JasperReports Library och MongoDB