MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So entfernen Sie eine Spalte aus der untergeordneten Sammlung

Das Update mit dem leeren Parameter scheint nicht zu funktionieren. Ich habe es in der Mongo-Shell und Mongoconsole ausprobiert. In der mongoconsole gab es einen Fehler, dass update erwartet hat, dass der erste Parameter ein Array oder ein Objekt ist.

Sie können jedoch dasselbe mit der Suchabfrage $exists tun.

Versuchen Sie:

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

Das hat bei mir funktioniert.

Denken Sie daran, dass $exists basierend auf den Dokumenten keinen Index verwendet und daher langsamer ist. Ich schlage vor, einen Parameter hinzuzufügen, dem Sie einen Index hinzufügen und ihn abfragen können, wenn Sie $unset ausführen.