sql >> Databáze >  >> NoSQL >> MongoDB

Jak změnit typ pole?

Jediný způsob, jak změnit $type dat je provést aktualizaci dat tam, kde mají data správný typ.

V tomto případě to vypadá, že se pokoušíte změnit $type od 1 (double) do 2 (řetězec).

Jednoduše tedy načtěte dokument z DB, proveďte přetypování (new String(x) ) a poté dokument znovu uložte.

Pokud to potřebujete provést programově a zcela z prostředí Shell, můžete použít find(...).forEach(function(x) {}) syntaxe.

V reakci na druhý komentář níže. Změňte pole bad z čísla na řetězec v kolekci foo .

db.foo.find( { 'bad' : { $type : 1 } } ).forEach( function (x) {   
  x.bad = new String(x.bad); // convert field to string
  db.foo.save(x);
});


  1. Stubbing Redis interakce v javascriptu pomocí Sinon

  2. Aktualizujte pole v poli přesných prvků v MongoDB

  3. Mongoose:Schéma vs model?

  4. Získání $skupinového výsledku s počtem skupin