MongoDB: запрос по хешу со специальными символами в ключах

Я начинаю работать с MongoDB (это выглядит УДИВИТЕЛЬНО, кстати), и у меня есть вопрос о типе данных Hash в одной из моих коллекций.Теоретически у меня есть что-то похожее на это:

{
    "account_id": "BNM-X10-0123456789",
    "account_profile": {
        "Client code": "0123456789",
        "Discount %": "15"
    }
}

Как видите, ключи в хэше account_profile содержат некоторые пробелы и специальные символы! Я знаю, что вы, вероятно, предложили бы «просто изменить его на client_code и Discount_pct », но у меня нет контроля над этими ключами, они полностью определяются пользователем и по своей природе FOR SURE будет содержать пробелы и специальные символы.

Итак, исходный вопрос: как я могу выполнять запросы по этой информации? Я - очевидно - знаю, что точечная нотация, как в db.foo.find ({"account_profile.discount_pct": "15"}) , не будет работать, но есть ли альтернативы?

И как побочный вопрос: есть ли лучший способ реализовать ту же функциональность, сохранив всю информацию, вложенную в коллекцию?

Спасибо всем. :)

7
задан Community 22 September 2017 в 17:57
поделиться