草庐IT

pymongo-2.x

全部标签

python - (PyMongo) - 函数 find_one_and_update() 的参数

我在下面列出的代码行中收到一个通用的Django错误。我很难理解有关如何为此设置参数的pymongo文档function.我在想我写错了。我有一组请求文件。每个请求文档都有一个“请求”键和一个值(subreddit_name+“F”)。这就是我想查询和查找文档的方式。每个文档还有一个带有值(pdone变量)的“pdone”键。这是我要更改的文档中的键值。发生错误的代码行:self.collection_requests.find_one_and_update({'request':self.subreddit_name+"F"},{'pdone':pdone},return_docum

python - 如何在不更改 pymongo 中的 id 的情况下更新整个对象?

我正在尝试更新存储在MongoDB中的记录/对象的所有属性,现在我正在尝试这样做。已删除对象,但保留被删除对象的ID。使用我删除的相同ID创建一个新对象。是否正确?或者他们使用pymongo做什么?mongo_object={_id:123,prop_key_1:some_value,//...manypresentprop_key_n:some_value,}defdelete(record):doc=get_db().reviews.delete_many({"id":record["_id"]})print(doc.deleted_count)#allkeyvaluesarech

python - pymongo - 消息长度大于服务器最大消息大小

fordocincollection.find({'is_timeline_valid':True}):行给出了消息长度错误。如何在没有错误的情况下获取所有集合?我知道find().limit()但我不知道如何使用它。代码:fromopenpyxlimportload_workbookimportpymongoimportoswb=load_workbook('concilia.xlsx')ws=wb.activeclient=pymongo.MongoClient('...')db=client['...']collection=db['...']r=2fordocincollect

python - 如何使用 pymongo 手动创建 DBRef?

我想手动创建一个DBRef,以便我可以向它添加一个额外的字段。但是,当我尝试传递以下内容时:{'$ref':'projects','$id':'1029412409721','project_name':'MyProject'}Pymongo引发错误:pymongo.errors.InvalidName:key'$id'mustnotstartwith'$'似乎pymongo为特殊键保留了$,这让我想知道是否有可能做我想做的事情? 最佳答案 可能不想像那样手动创建它们,因为DBRefs中的键需要排序。我们可以添加一个选项来创建带有自

python - pymongo 无法使用多线程

下面的代码不管是在python2.6还是python3.2中都不行。测试代码:importpymongoclassA(Thread):def__init__(self):Thread.__init__(self)self.conn=pymongo.Connection('localhost',30000)self.mongo=self.conn.puppetself.mongo.authenticate('test','123')defrun(self):printself.mongo.href.find_one()A().start()异常信息:OperationFailure:da

python - InvalidDocument : Cannot encode object: <pymongo. 游标。游标对象位于

我试图将一个文档objectID作为属性(链接)存储到另一个文档中,但mongo一直给我这个错误。这行的语法有什么问题?foruinself.request.db.lyrics.find():u['forSong']=self.request.db.song.find({},{'_id':1})self.request.db.lyrics.save(u) 最佳答案 问题是find方法的结果是一个游标,而不是一个对象列表u['forSong']=self.request.db.song.find({},{'_id':1})是光标,不是

python - 无法对 PyMongo 数据库进行身份验证

这是我用来尝试验证的代码:#MongoDBconnectionconnection=Connection(f.config['MONGODB_HOST'],f.config['MONGODB_PORT'])db=connection['MONGODB_DB']#Tryauthenticating.Thiswillonlyworkinproduction.Indevelopment,#MONGODB_USERandMONGODB_PASSWORDwillraiseKeyErrors.try:db.authenticate(f.config['MONGODB_USER'],f.config

mongodb - pymongo cursor getMore 需要很长时间

我的python脚本迭代数据集所花费的时间让我遇到了问题。数据集大约有40k个文档。这足以导致pymongo游标发出多个内部提取并从开发人员那里抽象出来。我尽可能简化了我的脚本来演示问题:frompymongoimportConnectionimporttimedefmain():starttime=time.time()cursor=db.survey_answers.find()counter=0;lastsecond=-1;forentryincursor:ifint(time.time()-starttime)!=lastsecond:print"loopnumber:",co

python - 将二进制数据插入pymongo中的Mongo字段

我正在尝试做一些我觉得微不足道的事情,如果其他地方有一些简单的解决方案,请原谅我。我正在为一些内容索引编写测试,为此我试图将一些二进制数据(pdf)插入我拥有的mongo集合中。但是,我在这方面遇到了很多麻烦。这是我相关代码的当前状态pseudo_file=StringIO()pdf=pisa.CreatePDF("Thisisatest",pseudo_file)test={"data":pseudo_file}test.update({"files_id":{"name":"random_asset_name"},"category":"asset"})self.chunk_col

MongoDB/PyMongo 地理空间查询 : distance of documents from a point

我最近将我的MongoDB从2.2.1版升级到2.4.6版,并将pymongo升级到2.6.2版。升级的原因之一是新版本的MongoDB能够计算和返回文档(包括适当的坐标)与地理空间查询中心的距离asexplainedhere.到目前为止,我执行了以下查询:db.collection.find({"loc":{"$within":{"$center":[[LON,LAT],RADIUS]}}})其中LON、LAT和Radius是适当的数字。然后,我以编程方式计算返回的每个文档与中心的距离。现在我正尝试让MongoDB代我进行距离计算,因为与我的代码相比效率更高。我现在正在尝试的是:db