草庐IT

Flask-PyMongo

全部标签

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

mongodb - 搜索文档 : pymongo 的 ObjectId

我想通过“名称”属性访问集合中的文档以获取其ObjectId,以便我可以将该唯一的objectid插入其他文档以供引用。cursorObject=db.collectionIngredient.find({'name':'sugar'})我想要cursorObject的_id字段。cursorObject.'_id'orcursorObject._idnotworking.我尝试了__getitem__、__getattribute__等了很多次上网,但都找不到方法。请帮忙 最佳答案 首先,正如@jjmartinez指出的那样,fi

python - 将 db.find().map 与 pymongo 一起使用

我正在使用pymongo将一个用服务器端javascript编写的程序移植到python。javscript程序使用这种语法:db.dbname.find(pattern1,pattern2).map(function(i){functionname(i)})Pattern1和pattern2是有效的mongodb查询模式。Functionname是一个有效的javascript函数。所有这些都在javascript源文件中定义。我搜索了文档,但似乎找不到pymongofind().map函数(与map_reduce相反。)这将如何用python重写? 最佳

python - PyMongo 聚合没有结果

我尝试使用PyMongo从MongoDB数据库中查询“点击”的平均值。query_result=list(my_collection.aggregate([{'$group':{'_id':None,'avg_clicks':{'$avg':"$clicks"}}}]))查询结果为:okresult你知道问题出在哪里吗? 最佳答案 Collection.aggregate返回像这样的字典{'ok':1or0,'result':the_actual_result}因此list(my_collection.aggregate(...))

regex - 尽管 : elif: else,但使用正则表达式的 PyMongo 查询不返回任何内容

出于某种奇怪的原因,我有一个Mongo查询,尽管使用了一个似乎无法转义的条件,但它几乎没有返回任何内容(没有数据的空白行)。要重现(假设您安装了PyMongo):importpymongoimportremanyNodesDeep={"one":{"two":{"three":{"four":{"five":"five"}}}}}fooBar={"foo":"bar"}withpymongo.MongoClient()asconn:db=conn[u'local']collection=db.my_collectionprint"Collection:{}".format(collec

python - 从 pymongo 加载单个字段作为数组

我有一个mongo对象列表,基本上我想从中提取一个字段。假设我的对象结构如下[{'name':'Lucy',age:'24'},{'name':'Nicole',age:'22'},{'name':'John',age:'28'},]我想从PyMongo加载格式为['Lucy','Nicole','Lauren']的数组。一种方法是简单的python列表理解:names=[p['name']forpindb.people.find({'age':{'$gt':18}},['name'])]这很好用,但如果有很多记录,速度会很慢。有更有效的方法吗? 最佳答案

mongodb - 在 pyMongo 中查找文档的所有字段

我想使用pymongo查找文档的所有字段,以便从中检索数据。下面的代码提供了所有文档及其所有字段。但是我们能找到文档的所有字段或键吗?f=db['Collection'].find()foriinf:print(i['Date'])我可以从中获取所有文档ObjectIdprint(db['Collection'].distinct("_id"))现在我们有了所有文档的id。我们可以找到字段吗? 最佳答案 PyMongofind()方法返回Cursor实例,它允许您遍历所有匹配的文档。您迭代中的文档是PythonDictionary,

python - 如何使用 pymongo 迭代或删除 MongoDb 数组列表项?

我想使用pymongo迭代Mongodb数据库Arraylist项目(TRANSACTION列表)并删除特定于Arraylist的项目(TRANSACTIONList)?我使用pythonpymongo如上所述创建Mongo集合。我想使用pymongo迭代数组列表项并仅在Arraylist中删除最后一项?使用Pythonpymongo进行数据插入查询#addednewmethodcreateblockchain_structuredefaddCoinWiseTransaction(self,senz,coin,format_date):self.collection=self.db.b