MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

jak przekonwertować ciąg na wartości liczbowe w mongodb

Agregacja MongoDB nie pozwoliła zmienić istniejącego typu danych w danych polach. W takim przypadku powinieneś utworzyć kod programistyczny, aby przekonwertować string do int . Sprawdź poniższy kod

db.collectionName.find().forEach(function(data) {
    db.collectionName.update({
        "_id": data._id,
        "moop": data.moop
    }, {
        "$set": {
            "PartnerID": parseInt(data.PartnerID)
        }
    });
})

Jeśli rozmiar twoich kolekcji jest większy niż powyższy skrypt spowolni wydajność, dla perfomace mongo zapewnij operacje zbiorcze mongo, używając operacji zbiorczych mongo również zaktualizował typ danych

var bulk = db.collectionName.initializeOrderedBulkOp();
var counter = 0;
db.collectionName.find().forEach(function(data) {
    var updoc = {
        "$set": {}
    };
    var myKey = "PartnerID";
    updoc["$set"][myKey] = parseInt(data.PartnerID);
    // queue the update
    bulk.find({
        "_id": data._id
    }).update(updoc);
    counter++;
    // Drain and re-initialize every 1000 update statements
    if (counter % 1000 == 0) {
        bulk.execute();
        bulk = db.collectionName.initializeOrderedBulkOp();
    }
    })
    // Add the rest in the queue
if (counter % 1000 != 0) bulk.execute();

Zasadniczo zmniejsza to ilość wyciągów operacyjnych wysyłanych na serwer do wysyłania tylko raz na 1000 operacji w kolejce.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB zagnieżdżone OR/AND Gdzie?

  2. Sześć kluczowych elementów skutecznego zarządzania danymi

  3. Grupuj według przedziałów dat

  4. Bitwa o bazy danych NoSQL — porównanie MongoDB i Firebase

  5. Używanie .sort z PyMongo