Изменить словарь на строковое значение в агрегатной функции MongoDb - PullRequest
0 голосов
/ 23 мая 2018

У меня есть документ

{
    "_id" : ObjectId("5b04e99a27287e071fb50093"),
    "customer": {
        "id": 1,
        "name": "Lucy"
    }
}

Я хочу получить имя клиента вот так

{
    "custumer_name" : "lucy"
}

Как это сделать?

1 Ответ

0 голосов
/ 23 мая 2018

Вы можете достичь этого несколькими способами.

Вы можете использовать $addFields или $project стадию агрегации конвейера.И $toLower оператор конвейера агрегации для преобразования строки в нижний регистр.

$addFields пример:

{
    $addFields: {
        "custumer_name": { $toLower: "$customer.name" }
    }
}

$project пример:

{
    $project: {
        "custumer_name": { $toLower: "$customer.name" },
        [ ... other elements ...]
    }
}

Если вам не нужно преобразовывать строку в нижний регистр, просто используйте "$customer.name" вместо { $toLower: "$customer.name" }.

Лучшее решение зависит от деталей ваших конечных потребностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...