草庐IT

HAND_CURSOR

全部标签

javascript - Node .js + MongoDB : MongoError: cursor killed or timed out

当找到大量文档并使用cursor.nextObject对其进行迭代时,回调最终会返回未定义的结果和错误MongoError:cursorkilledortimedout。整个错误信息是:[MongoError:cursorkilledortimedout]name:'MongoError',message:'cursorkilledortimedout'如何避免光标被杀死? 最佳答案 根据Mongodb'sofficialdoc,可选参数timeout可以设置为false。db.collection('mycollection').

javascript - 多次同时调用 `cursor.next()`导致驱动崩溃

动机:我有一个架构涉及许多像这样“消费”文档的工作人员:worker.on('readyForAnotherDoc',()=>worker.consume(awaitcursor.next()));这是一种伪代码-我正在检查真实代码中的cursor.hasNext()。有数百个工作人员,因此cursor.next()可能会同时被突然爆发的200个请求击中。我正在尝试解决mongodbnode.js驱动程序中的一个错误/怪癖,如果我对cursor.next()的请求太多,就会导致错误彼此“重叠”巧合的是。背景:似乎MongoDBNode.js驱动程序没有正确处理cursor.next向其

python - pymongo.errors.CursorNotFound : cursor id '…' not found at server

我正在尝试使用pymongo将大约1M的文档从mongodb读取到csv文件。我的代码如下所示:importcsvfrompymongoimportMongoClientfromdatetimeimportdatetimefrombsonimportjson_utilfromtempfileimportNamedTemporaryFileclient=MongoClient('mongodb://login:pass@server:port')db=client.some_mongo_databasecollection=db.some_mongo_collectionfromDate

perl - 如何捕获 Perl MongoDB::Cursor 的 'recv timed out' 错误?

我有一个Perl程序通过cron发出这些消息:recvtimedout(60000ms)at/usr/local/lib/perl/5.8.8/MongoDB/Cursor.pmline251.recvtimedout(60000ms)at/usr/local/lib/perl/5.8.8/MongoDB/Cursor.pmline251.recvtimedout(60000ms)at/usr/local/lib/perl/5.8.8/MongoDB/Cursor.pmline251.我已采取以下步骤来缓解:$collection->find(...)周围的evalblock$curs

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

mongodb - 为什么解释查询输出给我 Basic Cursor,即使集合上有索引?

我有一个名为stocks的集合,我在其上创建了一个复合索引,如下所示db.stocks.ensureIndex({"symbol":1,"date":1,"type":1,"isValid":1,"rootsymbol":1,"price":1},{"unique":false})我已经设置了profilinglevel来找出所有慢查询。下面的一个查询花了38毫秒,什么时候解释的,这是下面的结果对不起,我已经更新了我的问题db.stocks.find({query:{symbol:"AAPLE",date:"2014-01-18",type:"O",isValid:true},orde

node.js - MongoDB:cursor.toArray 返回 Promise { <pending> }

情况我写了一个查询:varresults=db.collection('diseases').find({'ttl.txt':{$regex:data,$options:'i'}}).toArray();问题然后我打印了results到控制台。if(results.length>0){console.log(results);}ToArray方法必须返回找到的文档数组。但是这个方法返回这个字符串:Promise{}.问题如何返回找到的文档数组而不是这个字符串?附言到数组:Linktothedocumentation 最佳答案 您收到

cursor.sort() 中 undefined 与 null 的 MongoDB 语义

根据MongoDB中的信息manpageoncursor.sort(关于比较值的最后一段),就sort()函数而言,NULL值比任何其他值都小。问题是,缺少的属性是否视为NULL?根据我的测试不是这样:>db.sort.find().sort({id:1}){"_id":ObjectId("5269554df18e7d2f4bd1241d"),"a":"Anonym"}{"_id":ObjectId("52695684f18e7d2f4bd12421"),"a":"Bnonym","d":"iii"}{"_id":ObjectId("52695892f18e7d2f4bd12422")

javascript - 尝试从集合中获取随机游标 - 错误 : Publish function can only return a Cursor or an array of Cursors

我正在尝试从一组问题中随机发布一个问题。但是我收到一条错误消息:错误:发布函数只能返回一个游标或一个游标数组。如何更改下面的出版物以便输出一个随机问题?Publications.jsMeteor.publish('randomQuestions',function(){varrandomInRange=function(min,max){varrandom=Math.floor(Math.random()*(max-min+1))+min;returnrandom;};varq=Questions.find().fetch();varcount=q.length;vari=random

mongodb - Mongodb cursor Finalizer Enabled性能效果

我正在将SpringBoot与Mongo3.4结合使用(与MongoS在集群中)mongo客户端选项配置具有选项cursorFinalizerEnabled。根据文档,此标志允许:MongoTemplateclosesthecursors.Makingthistrue,spawnsathreadoneverynewMongoClient.AttemptstocleanupDBCursorsthatarenotclosed.MongoClientOptionsoptions=MongoClientOptions.builder().cursorFinalizerEnabled(false