Python 将mongodb中的数据放入数据库已存在

Python 将mongodb中的数据放入数据库已存在,python,mongodb,scrapy,pymongo,Python,Mongodb,Scrapy,Pymongo,我和你们一起来是因为已经三天了,我试着把我用scrapy抓到的数据放进我的数据库,但它不起作用 我试着用一个自动递增的id(我想这可能是我的问题的原因,但我真的不知道)来填充我数据库(名字是mtdbdd)中的选项卡区域。所以在我的scrapy项目中,我没有文件名id,也许我应该有 我试着这样做: def put(self, item): MONGO_URI = 'mongodb://root:root@127.0.0.1:8889' client = MongoClient(M

我和你们一起来是因为已经三天了,我试着把我用scrapy抓到的数据放进我的数据库,但它不起作用

我试着用一个自动递增的id(我想这可能是我的问题的原因,但我真的不知道)来填充我数据库(名字是mtdbdd)中的选项卡区域。所以在我的scrapy项目中,我没有文件名id,也许我应该有

我试着这样做:

def put(self, item):
    MONGO_URI = 'mongodb://root:root@127.0.0.1:8889'

    client = MongoClient(MONGO_URI)
    db = client.mtdbdd
    coll = db.land

    try:
        result = coll.insert_one(item)
    except coll.errors.OperationFailure as e:
        print e.code
        print e.details
我有一个错误:

KeyError: 'Annonce does not support field: _id'
(Annonce是我的项目名称)

如果有人能帮我,那就太棒了! 谢谢大家

编辑:我的项目:

class Annonce(Item):
    url = Field()
    title = Field()
    price = Field()
    surface = Field()
    description = Field()
    city = Field()
    zipcode = Field()
    date = Field()
    img = Field()
    scrap = Field()
    url_title = Field()
    full_address = Field()
    viability = Field()
    gas = Field()
    visiblePhone = Field()
    isolate = Field()
    slope = Field()
    beingChanged = Field()
    toRenew = Field()
    csvFile = Field()
    views = Field()
    deleted = Field()

转换为dict,然后再将其插入数据库,即更改

result = coll.insert_one(item)


作为旁注,MongoDB没有任何类似于tab的功能,自然也不支持自动递增。

您的
项目是什么?
?我编辑并添加了我的项目我已经尝试过了,但我有一个错误:ServerSelectionTimeoutError:获得了操作码2628,但预期为1@bastienlequ当然,这个错误与你的问题没有任何关系。您以前的错误消息源于Scrapy,这意味着在触摸MongoDB之前
ServerSelectionTimeoutError
源于MongoDB,即原始问题得到修复。要克服后者,请尝试将
connect=False
传递给
MongoClient
构造函数。
result = coll.insert_one(dict(item))