MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment supprimer une colonne de la collection enfant

La mise à jour avec le paramètre vide ne semble pas fonctionner. Je l'ai essayé dans le shell mongo et mongoconsole. Dans la mongoconsole, une erreur de mise à jour s'attend à ce que le premier paramètre soit un tableau ou un objet.

Cependant, vous pouvez faire la même chose en utilisant la requête de recherche $exists.

Essayez :

`db.CrawlUser.update( {CrawlStatuses:{$exists:true}}, { $unset: { "CrawlStatuses.LastErrorMessage": 1 } }, false, true);`

Cela a fonctionné pour moi.

Gardez à l'esprit que d'après la documentation, $exists n'utilise pas d'index, il sera donc plus lent. Je suggère d'ajouter un paramètre sur lequel vous pouvez ajouter un index et de l'interroger lors de la $unset.