为了账号安全,请及时绑定邮箱和手机立即绑定

mongodb遍历后,更新每条数据某个字段的值,但只能执行部分(约2000条),之后报错(脚本执行失败)

mongodb遍历后,更新每条数据某个字段的值,但只能执行部分(约2000条),之后报错(脚本执行失败)

qq_YAO_4 2017-11-30 18:00:49
下面的2是执行的代码,使用的工具是robomongo。var begin = 1499675090; var end = 1499675198; var t = begin; while(t<=end){     db.getCollection('event').find({createdDate:{$lt:t+100, $gte:t}}).forEach(         function(item){             if(item.account_login!= undefined && item.account_login!= null){ item.account_login = item.account_login.substr(0,5)+'123456'; db.getCollection('event').save(item);             }                };     );     t+=100;         }也使用过下面4和5代码,依旧不行var begin = 1499675090; var end = 1499675198; var t = begin; while(t<=end){     var aa=db.getCollection('event').find({createdDate:{$lt:t+100, $gte:t}})     aa.forEach(         function(item){             if(item.account_login!= undefined && item.account_login!= null){ item.account_login = item.account_login.substr(0,5)+'123456'; db.getCollection('event').save(item);             }                };     );     t+=100;         }db.getCollection('event').find().forEach(      function(item){              if(item.account_login!= undefined&&item.account_login!= null){                  item.account_login = item.account_login.substr(0,5)+'123456';                   db.getCollection('event').save(item);        }          } )请问各位有使用过mongodb的大神,为什么会出现js脚本执行一部分,剩下没执行完就报错这种情况,(当数据量小于2000条时可以执行完不会报错)非常感谢。
查看完整描述

2 回答

?
慕瓜9220888

TA贡献868条经验 获得超0个赞

MBGPVYLOO

WUWSARMVM

HTMUUNXDD

ONHWILPCC

AYQRWZWQN

CHAJOBVWP

BZYLHYUEL

IRXCBORRE

HPOVUXKNH

MXTFORORV

MEMLKOBAO

FGSRWTWZA

CTGIUHKPW

ARWIKOKWG

BMLLHUQLM

OZIIPFSCD

QIFOANQXH

VGFOTNQDN

MXQLANAXG

LGOKWZZPK

ZEJJEOBOF

UFRXVIFMJ

IRWEBAHWE

ZBXRTQNKA

OVYNVVSFF

LIVYJBBLF

WLRZFYBVF

GXTIEOBHR

EACMLYLYP

VVLKFWPMW

KPIHSWSWD

KIRTZINUO

KPEAVEUQE

PPOACVSFI

GVEEOUEDK

RQMYFPCVM

UZLNZSVQB

DGGVNANSC

CQKTCZCPJ

FTFRUHYEV

EPRDZCFSS

KFPWCECAD

PFJDQDXDR

TPCIVFBPD

LAAGZDXBP

YAZMSQBPJ

KTNJPJAHB

WLYENHLPN

PUBHDPJXL

PHNDZWQUL

FATOYGGKI

CTNWMWQUM

TVVVLVFGO

QZZIOBMQX

CSYXGUUIJ

SEWAAKFCY

JLXWWWKCW

JCHXNXQQU

UOBBFSGUS

CHXYHFFDR

TVLEDHDHF

ABHRNREKI

CODTDQRWY

NVIOVMGDS

FDQDFFVYF

HQJSOVROF

XOHQMPCZA

RSEXZJGCA

VHJZLYWFG

MHJEDQDHE

IGSEQAURI

BMXJVOHXO

OWYRDWQXG

ETJOQTGXH

SQSRRIFVF

IGIFBUORR

VTCLQKNAQ

TNJLXXQGX

NIKPMNJXR

GBNJVCZIM

GEQNMTWHI

LCBQPWFSM

AIRWCMSVW

IGEGILYBY

SRCCVFFSD

OPBBKNXTX

BQIAQMIOP

PAGCXZCJG

CAPLKHANF

KMEULKXHV

MDWRHDHAT

YWIRDQOBC

NPKVNTQTU

GOQLXRKNU

BGINJCJTN

QLXBAANNR

KSBFEHKHE

JIBXTDQTJ

SHCQZCSSC

BZVBQXKUO

LGAWSVBYC

HZSLGDNGN

ACPAWZZWI

OIKNFKHKU

EVKVXKDKE

NPRTILYLC

VCEXHEANO

XPSNYYREE

VQJUQAVYY

NVHCSBOYY

RVURGXKXX

LTYEGQPLY

KLTMDQANQ

OMUNSFSWW

JUDFEVZPG

AEGZNQTQA

DVDJRERAY

LTVHZFXXY

CQXMPQDQN

EPHARFCBY

FXDJBRHWG

UCKTIIIVU

PNZLGAICI

IUKZFYILS

JYCUQKQNX

ZXBXMPCJA

CGJFUKNRY

UJFHDXTMD

UCITPBUKH

OZFNDGDRI

NOXSENRXE

VQPVKNAKU

XVIHMGTRY

YRSEJTMSW

LJZYTXNNQ

CRDOUEXAK

EMVGCFPMG

DONJEIBRI

GVQYADQTH

XLENNYBOY

SNFLXTGTX

THQCRRRVL

YTXATNVRS

ABQJRUBHN

IJEUGDHVD

AYNSEHBOY

FGIXZCFJJ

DUNCOXRNB

WAJEUUHDO

DYENSCNST

JQIUJTQQV

QPVNZCZCW

KSSUNHKEY

EDCXDMQLP

OWFEGHLEL

RWIAERKHH

PEPYUEHYP

OQMODXAJV

ESKDZWPGL

OCSRTTCPD

UYUWILOVP

JXWRPCLPJ

VKWHGEHOO

GRNILBGTK

MYLEULEVR

TQSLAJANQ

UVHDIFIPJ

KSBQTWMZQ

AVIOUTAFV

LCHQCZSPM

IPUTPCVIZ

LDFAWZWZW

MNSITQQTD

CETDGJWGA

JPVHMZJWW

KSNPOLBRS

OTEKTJCPQ

CKJLHAXQA

VRTVHUXUH

YGQAMSLVV

查看完整回答
反对 回复 2021-10-20
?
qq_YAO_4

TA贡献5条经验 获得超0个赞

忘记说,最后这个问题解决了,直接在linux上跑可以,所以应该是这个robomongo的问题!

查看完整回答
反对 回复 2017-12-27
?
慕慕0098458

TA贡献4条经验 获得超1个赞

一般写这种先执行一遍查询,里面不带任何操作。看一下数据有无问题。可以看一下if(item.account_login!= undefined&&item.account_login!= null) 里面加一个!=‘’看能走多少

查看完整回答
反对 回复 2017-12-01
  • qq_YAO_4
    qq_YAO_4
    我这几天都在搞这个问题,用java程序直接操作,200多万条数据全量跑完,但是用这个robomongo就只能执行2000条左右,所以反过来我觉得是robomongo的问题,目前只能推到这个地步!
  • 2 回答
  • 0 关注
  • 5179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信