Конвертировать UUID в String для вставки в mongodb - PullRequest
0 голосов
/ 15 января 2020

Попробовав следующий код:

db.getCollection('col').find({}).forEach(function(doc){
            var id = new UUID().toString(); // this doesn't work, neither does 'var id = new UUID();'
            db.getCollection('pubCol')
                .update({
                    "uuid" : id,
                    "deleted" : false
                    }
            , {upsert: true});
         });

Я получаю следующие результаты соответственно

"uuid" : "UUID(\"4554a991-2b7f-4464-b871-5f4e91332630\")"
"uuid" : UUID("4554a991-2b7f-4464-b871-5f4e91332630")

Но я ищу

"uuid" : "4554a991-2b7f-4464-b871-5f4e91332630"

1 Ответ

1 голос
/ 15 января 2020

UUID().hex() возвращает строку, которую вы ищете, но без дефисов.

Вы можете разделить его вручную, например, с помощью регулярного выражения:

UUID().hex().match(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/).slice(1,6).join('-')
...