PyMon go запрос - проверить, существует значение или нет - PullRequest
0 голосов
/ 15 апреля 2020

Я хочу выполнить запрос к базе данных и извлечь некоторые данные для обработки. Вот мой запрос:

pipeline = [{'$match':{"Timestamp":{'$gte':m(), '$lt':current()},

    'Frequency Survey Reference':{'$regex':'Ch2'}}},

    {'$group': {
        '_id': '$Timestamp',
        'Trace' : {'$push': '$TR Trace'}
    }},

    {'$sort': {'_id': -1}},

    {'$limit': 1}
    ]

get_tr = collection.aggregate(pipeline, allowDiskUse=True)

Однако некоторые записи не имеют значения для TR Trace (пустой массив), и я хочу выполнить проверку, где он игнорирует эти записи и не включает их в конвейер. Как мне выполнить такую ​​проверку?

1 Ответ

1 голос
/ 15 апреля 2020

Отфильтруйте их как часть $ match с помощью оператора запроса $exists:

pipeline = [{'$match':{"Timestamp":{'$gte':m(), '$lt':current()},
    'Frequency Survey Reference':{'$regex':'Ch2'},
    'TR Trace': {'$exists': True, '$ne': ''}}},

    ...
...