MongoDB在串行更新时崩溃(pymongo)
我编写了一个简单的脚本,在我的MongoDB在串行更新时崩溃(pymongo),mongodb,pymongo,Mongodb,Pymongo,我编写了一个简单的脚本,在我的motivate\u测试db中对我的events集合进行集合范围的更新。以下是脚本: #!/usr/bin/env python from django.db import models from django.conf import settings from pymongo import MongoClient from apps.motiv8 import models # Mongo setup client = MongoClient() db =
motivate\u测试db中对我的events
集合进行集合范围的更新。以下是脚本:
#!/usr/bin/env python
from django.db import models
from django.conf import settings
from pymongo import MongoClient
from apps.motiv8 import models
# Mongo setup
client = MongoClient()
db = client[settings.MONGO_DB_NAME]
for event in db.events.find():
try:
course = models.Course.objects.get(id=event['course_id'])
except:
continue
organization = course.organization
db.events.update({"course": event['course_id']}, {"$set": {"organization_id": int(organization.id)} })
每次运行此操作时,都会出现以下错误:
Traceback (most recent call last):
File "./add_org_to_events_db.py", line 27, in <module>
db.events.update({"course": event['course_id']}, {"$set": {"organization_id": int(organization.id)} })
File "/opt/motiv8/lib/python2.6/site-packages/pymongo/collection.py", line 487, in update
check_keys, self.__uuid_subtype), safe)
File "/opt/motiv8/lib/python2.6/site-packages/pymongo/mongo_client.py", line 956, in _send_message
sock_info = self.__socket()
File "/opt/motiv8/lib/python2.6/site-packages/pymongo/mongo_client.py", line 773, in __socket
"%s %s" % (host_details, str(why)))
pymongo.errors.AutoReconnect: could not connect to localhost:27017: [Errno 111] Connection refused
回溯(最近一次呼叫最后一次):
文件“/add_org_to_events_db.py”,第27行,在
update({“course”:event['course\u id']},{“$set”:{“organization\u id”:int(organization.id)})
文件“/opt/motiv8/lib/python2.6/site packages/pymongo/collection.py”,第487行,在更新中
检查_键,self.uid_子类型),安全)
文件“/opt/motiv8/lib/python2.6/site packages/pymongo/mongo_client.py”,第956行,在发送消息中
sock\u info=self.\u socket()
文件“/opt/motiv8/lib/python2.6/site packages/pymongo/mongo_client.py”,第773行,在__套接字中
“%s%s”%(主机\u详细信息,str(为什么)))
pymongo.errors.AutoReconnect:无法连接到本地主机:27017:[Errno 111]连接被拒绝
这让mongo完全崩溃了。我收集了大约9000张唱片。我做错了什么?对于一个被吹捧为“速度”和“并发性”的数据库,MongoDB让我非常失望。好像我正在运行连接到地面。你能抓取更新查询(带有发送的值)并从MongoDB控制台尝试它吗?还有,你正在使用哪个MongoDB版本?你能发布服务器mongod.log的最后几行吗?它将包含崩溃的原因,其中有一个C++回溯。