MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да промените типа на полето?

Единственият начин да промените $type от данните е да извърши актуализация на данните, където данните са от правилния тип.

В този случай изглежда, че се опитвате да промените $type от 1 (двойно) до 2 (низ).

Затова просто заредете документа от DB, извършете прехвърлянето (new String(x) ) и след това запазете документа отново.

Ако трябва да направите това програмно и изцяло от обвивката, можете да използвате find(...).forEach(function(x) {}) синтаксис.

В отговор на втория коментар по-долу. Променете полето bad от число към низ в колекция 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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да създам MongoDB дъмп на моята база данни?

  2. Как да задействате необработени заявки на MongoDB директно в Ruby

  3. MongoDB $arrayToObject

  4. Приложение Meteor — нулиране на базата данни на разгърнато приложение

  5. Как да използвате GridFS за съхраняване на изображения с помощта на Node.js и Mongoose