MongoDB - обновление в верхний регистр

MongoDB - обновление в верхний регистр

Документ, и вы хотите обновить все исходные значения до UPPERCASE.

whois.json

{
    "_id" : NumberLong(1),
    "country" : "au",
    "source" : "apnic"
}
{
    "_id" : NumberLong(2),
    "country" : "cn",
    "source" : "apnic"
}
{
    "_id" : NumberLong(3),
    "country" : "us",
    "source" : "arin"
}

Решение

Не уверен, есть ли какая-либо готовая функция, но вы можете написать скрипт для обновления значения в верхний регистр:

db.whois.find({ "source": { "$exists": true } }).forEach(function(doc) {
    db.whois.update(
        { "_id": doc._id },
        { "$set": { "source": doc.source.toUpperCase() } }
    );
});

Выход

whois.json

{
    "_id" : NumberLong(1),
    "country" : "au",
    "source" : "APNIC",
}
{
    "_id" : NumberLong(2),
    "country" : "cn",
    "source" : "APNIC",
}
{
    "_id" : NumberLong(3),
    "country" : "us",
    "source" : "ARIN",
}

Готово.