2017-08-08 2 views
0

J'ai une base de données mongo. Il existe un document qui existe dans une collection où le champ ID d'objet est null. Je voudrais supprimer cette collection de la base de données entièrementComment supprimer un document MongoDB avec pymongo lorsque l'identifiant de l'objet est nan?

records = list(db.MyCollection.find()) 
for record in records: 
    if pd.isnull(record['_id']): 
     print(record) 

{'_id': nan, 'other_data': nan} 

J'ai essayé:

db.Sample.delete_one({'_id': 'nan'}) 

et aussi:

db.Sample.delete_one({'_id': np.nan}) 

Bien qu'aucun de ces enlever la collection. Toutes les suggestions seraient appréciés

+1

Avez-vous essayé avec aucun? – Euclides

+0

@Euclides Bonne suggestion, malheureusement cela ne semble pas fonctionner non plus. À moins que je ne manque complètement quelque chose et que je ne laisse pas tomber les documents correctement. – johnchase

Répondre

1

Ce n'est pas null il est nan, qui est en fait représentée comme float('nan'):

db.Sample.delete_one({ '_id': float('nan') })