Python 将mongodb中的数据放入数据库已存在
我和你们一起来是因为已经三天了,我试着把我用scrapy抓到的数据放进我的数据库,但它不起作用 我试着用一个自动递增的id(我想这可能是我的问题的原因,但我真的不知道)来填充我数据库(名字是mtdbdd)中的选项卡区域。所以在我的scrapy项目中,我没有文件名id,也许我应该有 我试着这样做: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
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))