Golang mongodb remove all items from collection [mgo.v2]

Pawel Miechowiecki picture Pawel Miechowiecki · Jan 2, 2015 · Viewed 7.6k times · Source

How to remove all items from collection stored in mongodb using GO lang?

In mongo console I can use:

db.mycollection.remove({})

where empty brackets {} mean all document pattern.

In GO lang (I use "gopkg.in/mgo.v2" and "gopkg.in/mgo.v2/bson") there are methods:

sess.DB("mydb").C("mycollection").Remove(...)
or
sess.DB("mydb").C("mycollection").RemoveAll(...)

but both of them needs parameter that implements selector. For example selector can be a bson map

bson.M{"id": id}

but I want to remove all elements, not a particular one.

Answer

Didier Spezia picture Didier Spezia · Jan 2, 2015

See the MongoDB documentation at: http://docs.mongodb.org/manual/tutorial/remove-documents/

To remove all the documents of a given collection, just call RemoveAll with an empty selector. Just passing nil as a parameter should work fine:

sess.DB("mydb").C("mycollection").RemoveAll(nil)

Be sure to check the returned objects though.