Я определил следующий конвейер в Python. Я столкнулся с проблемой, когда метка включает ., например "1.2.3".
labels.{label} становится label.1.2.3
$labels.{k} становится $labels.1.2.3
pipeline = [
{
"$match": {
"$and": [
{"deleted": {"$ne": True}},
{
"$or": [
{f"labels.{label}": {"$exists": True}} for label in label_list
]
}
]
}
},
{
"$project": {
"_id": 0,
"command": 1,
"matching_labels": {
k: f"$labels.{k}" for k in label_list
}
}
}
]
Я спросил в чатгпт, но он не смог помочь с решением. Не могли бы вы мне помочь?
Я пытался использовать \., чтобы избежать ., а также [] вместо ., но ни то, ни другое не помогло.
Пример документов:
{
"_id": {
"$oid": "670cd0bae77a7a8a17abfb71"
},
"command": "show alarms ",
"original": "show alarms",
"labels": {
"critical": 2,
"rx": 1,
"failure": 1,
"6.5.3": 1,
"isis": 1,
"l2vpn": 1,
"chassis": 1,
"ncs-5501": 1,
"logs": 1,
"7.5.2": 1,
"hardware failure": 1,
"6.6.3": 1
},
"merged": true,
"finalised": true
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... e-includes
Как обратиться к подполю в конвейере mongodb, если имя поля включает «.» ⇐ Python
Программы на Python
1729685270
Anonymous
Я определил следующий конвейер в Python. Я столкнулся с проблемой, когда метка включает ., например "1.2.3".
labels.{label} становится label.1.2.3
$labels.{k} становится $labels.1.2.3
pipeline = [
{
"$match": {
"$and": [
{"deleted": {"$ne": True}},
{
"$or": [
{f"labels.{label}": {"$exists": True}} for label in label_list
]
}
]
}
},
{
"$project": {
"_id": 0,
"command": 1,
"matching_labels": {
k: f"$labels.{k}" for k in label_list
}
}
}
]
Я спросил в чатгпт, но он не смог помочь с решением. Не могли бы вы мне помочь?
Я пытался использовать \., чтобы избежать ., а также [] вместо ., но ни то, ни другое не помогло.
Пример документов:
{
"_id": {
"$oid": "670cd0bae77a7a8a17abfb71"
},
"command": "show alarms ",
"original": "show alarms",
"labels": {
"critical": 2,
"rx": 1,
"failure": 1,
"6.5.3": 1,
"isis": 1,
"l2vpn": 1,
"chassis": 1,
"ncs-5501": 1,
"logs": 1,
"7.5.2": 1,
"hardware failure": 1,
"6.6.3": 1
},
"merged": true,
"finalised": true
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79085959/how-to-refer-to-sub-field-in-mongodb-pipeline-when-the-filed-name-includes[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия