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++回溯。