sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB v2.4.9 sorteres efter boolesk felt

Ovenstående kode fungerer, mine data var dårlige. Som jeg skrev i kommentaren ovenfor, havde nogle af dokumenterne isFoo som en streng (ikke boolesk), og det var derfor, jeg så de blandede resultater.

Jeg var nødt til at ændre feltets type fra String til Boolean, så jeg prøvede dette:

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

Men det gjorde bare alle isFoo-felterne til objekter.

Da jeg var virkelig træt af at håndtere dette problem, brugte jeg bare følgende til at indstille alle isFoo-felterne til falsk og bare håndtere ændringerne manuelt.

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

Dette var meget irriterende.




  1. Gruppér poster efter måned og tæl dem - Mongoose, nodeJs, mongoDb

  2. Er der en konvention om navneindsamling i MongoDB?

  3. hex i stedet for base64 i BinData() - MongoDB

  4. MongoDB c#-driver:Ufølsom mellem store og små bogstaver Sammenlign ved hjælp af i eller indeholder på en liste ved hjælp af linq