Récupération de données en fonction des conditions à l'aide de pymongo

J'essaie de récupérer des données basées sur des requêtes basées sur des filtres. En ce moment j'utilise

 filter_stuff = {'url': 1, 'organization_name': 1, 'hum_pred':1, 'ml_pred':1, '_id': 0}
myData = list(crawlcol.find({'hum_pred': 'null'}, filter_stuff))

Cela va récupérer les données où hum_predont des valeurs null.

hum_predet ml_predaura des valeurs valid invalidounull

Comment est-il possible de récupérer des données qui ont des valeurs de champ hum_pred is nulletml_pred is valid or invalid

exemples de données

[
{"url":"www.example1.com","organization_name":"abc","ml_pred":"Valid", "hum_pred":"invalid"},
{"url":"www.example2.com","organization_name":"gvg","ml_pred":"Invalid", "hum_pred":"null"},
{"url":"www.example3.com","organization_name":"hsg","ml_pred":"null", "hum_pred":"null"},
{"url":"www.example4.com","organization_name":"hga","ml_pred":"Valid", "hum_pred":"valid"},
{"url":"www.example5.com","organization_name":"tre","ml_pred":"Invalid", "hum_pred":"valid"}
]

Production attendue

[{"url":"www.example2.com","organization_name":"gvg","ml_pred":"Invalid", "hum_pred":"null"}]


Solution du problème

La requête ressemblera à

myData = list(crawlcol.find({"$and": [{"ml_pred": {"$ne": "null"}},{"hum_pred": {"$eq": "null"}}]}))

Commentaires

Posts les plus consultés de ce blog

Comment signer la connexion OKEx API version 5 avec websockets ?

La fonction GCP Cloud pour écrire des données dans BigQuery s'exécute avec succès, mais les données n'apparaissent pas dans la table BigQuery

Le shell POSIX (sh) redirige stderr vers stdout et capture stderr et stdout dans des variables