Могу ли я сгенерировать уникальные идентификаторы String в конвейере агрегирования - PullRequest
0 голосов
/ 09 июля 2020

Я планирую преобразовать большой набор данных из моей базы данных mon go и создать новую коллекцию из преобразованных документов. Я хотел сделать это как часть единой агрегации, чтобы остановить круговые обходы между сервером и базой данных. Наше приложение автоматически применяет идентификаторы типа String, поэтому я не могу использовать автоматические c _ids, сгенерированные $ out / $ merge, поскольку это ObjectIds ()

Очевидно, я могу вытащить данные и сгенерировать уникальный идентификатор строки для каждого документа затем вставьте их, но я надеялся найти способ сделать это в рамках одного запроса агрегирования. Есть идеи?

1 Ответ

0 голосов
/ 09 июля 2020

Посмотрите здесь как $ project ObjectId преобразовать в строковое значение в агрегате mongodb?

Мы делаем примерно то же самое в наших скриптах mon go:

db.YourCollection.insert({
    _id: new ObjectId().valueOf(),
    ...fields
});
...