I use scarpy to crawl data and save it to cloud hosting mLab successfully with MongoDB.
My collection name is recently and data's count is 5. 
I want to crawl data again and update my collection recently, so i try to drop the collection and then insert.
Here is my code pipelines.py:
from pymongo import MongoClient from scrapy.conf import settings  class MongoDBPipeline(object):      def __init__(self):         connection = MongoClient(             settings['MONGODB_SERVER'],             settings['MONGODB_PORT'])         db = connection[settings['MONGODB_DB']]         # here is my collection name recently setting         self.collection = db[settings['MONGODB_COLLECTION']]      def process_item(self, item, spider):         # try to drop my collection recently         self.collection.drop()         self.collection.insert(dict(item))         return item   But when I run my spider, I see my collection recently count is 10 (It should be 5 that is what I want) 
I looking for some code that how to drop collection. It's just say db.[collection Name].drop()
But its no working in my case when i try self.collection.drop() before self.collection.insert(dict(item))
Anyone can give me some suggestions what is wrong with my code ?
That would be appreciated. Thanks in advance.
Delete Collection You can delete a table, or collection as it is called in MongoDB, by using the drop() method.
To delete a MongoDB Collection, use db. collection. drop() command.
To delete one document, we use the delete_one() method. The first parameter of the delete_one() method is a query object defining which document to delete. Note: If the query finds more than one document, only the first occurrence is deleted.
To delete documents from a collection of MangoDB, you can delete documents from a collections using the methods delete_one() and delete_many() methods. These methods accept a query object specifying the condition for deleting documents. The detele_one() method deletes a single document, in case of a match.
You need to use drop. Suppose foo is a collection
db.foo.drop()   Or you can use drop_collection
db.drop_collection(collection_name) 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With