向mongodb里插入10万条记录的代码怎么写

郑州海宁皮革城 2024-06-28 09:13:20
最佳回答
起初打算用node.js去做这个性能 测试,碰了几次壁后,改用python顺利完成任务,现在回过头来再看这个问题,发现里面似乎有坑。先放上一段node.js的插入10万条记录的代码:var mongoclient = require('mongodb').mongoclient;var url = 'mongodb://127.0.0.1:27017/testdb';var datal**t = []var globalcount = 0console.time('insert,10w');mongoclient.connect(url, {server: {poolsize: 50}},function(err, db) { if(err) throw(err) for(var i=0; i<100000; i++){ db.collection('test1').insert({ count:i }, function(err, r) {if(err) throw(err)globalcount++if(globalcount>=100000){console.timeend('insert,10w');process.exit(1);} }); } });测试结果慢的令人发指,node.js版本是最新的0.12.2e:\nodejs>node mongodb_error2.jsinsert,10w: 9791ms我用同样的python脚本去做:import pymongoimport jsonimport datetime,timeimport copyimport sys, osdef gettimestampfromdatetime(d=none):if d ** none:d = datetime.datetime.now()return time.mktime(d.timetuple())if __name__ == '__main__':start = gettimestampfromdatetime()client = pymongo.mongoclient("localhost", 27017, max_pool_size=50)db = client.testdbs**edata = []for i in range(0, 100000):s**edata.append({'count':i})db.test2.insert(s**edata)end = gettimestampfromdatetime()print('time: {0}s'.format(end-start))测试结果如下:e:\python>python s**e_10w.pytime: 1.0我在想是不是node.js代码写的太垃圾,于是我找了mongodb包的另外一个insertmany方法,但是结果却报错了:e:\nodejs\node_modules\mongodb\lib\utils.js:97process.nexttick(function() { throw err; });^errorat object.<anonymous> (e:\nodejs\node_modules\mongodb\node_modules\mongodb-core\lib\error.js:42:24)at module._compile (module.js:460:26)at object.module._extensions..js (module.js:478:10)at module.load (module.js:355:32)at function.module._load (module.js:310:12)at module.require (module.js:365:17)at require (module.js:384:17)at object.<anonymous> (e:\nodejs\node_modules\mongodb\node_modules\mongodb-core\index.js:2:17)at module._compile (module.js:460:26)at object.module._extensions..js (module.js:478:10) 20210311
汇率兑换计算器

类似问答
  • 收到投资者的投资10万元的会计分录怎么写
    • 2024-06-28 14:53:52
    • 提问者: 未知
    借:银行存款10万元 贷:实收资本10万元 投资者作为资本投入企业的各种财产,是企业注册登记的法定资本总额的来源,它表明所有者对企业的基本产权关系。实收资本的构成比例是企业据以向投资者进行利润或股利分配的主要依据,**企业法人登记管理条例规定,除**另有规定外,企业的实收资本...
  • 我在通达信公式编辑器里面写了10个条件.我要求达到里面的6条就发出买入信号 要在里面怎么写
    • 2024-06-28 15:49:48
    • 提问者: 未知
    将每个条件用if(x,1.0);{即当x条件成立时返回1否则返回0}xg:条件1+条件2+条件3+条件4+条件5+条件6+条件7+条件8+条件9+条件10>=6;
  • 在通达信的指标编辑里面写了10个条件 要求满足里面6条的时候发出买入信号 要怎么写?
    • 2024-06-28 05:54:44
    • 提问者: 未知
    最笨的办法:一连串and加or。
  • 10万小写怎么写 收据中10万元大写怎么写
    • 2024-06-28 14:14:40
    • 提问者: 未知
    10万小写怎么写 收据中10万元大写怎么写 10万小写:¥100000.0010万元大写:人民币壹拾万元整
  • 收到投资者的投资10万元的会计分录怎么写
    • 2024-06-28 07:46:56
    • 提问者: 未知
    借:银行存款10万元贷:实收资本10万元投资者作为资本投入企业的各种财产,是企业注册登记的法定资本总额的来源,它表明所有者对企业的基本产权关系。实收资本的构成比例是企业据以向投资者进行利润或股利分配的主要依据,**企业法人登记管理条例规定,除**另有规定外,企业的实收资本应当与注册资本一致。企业实收资本比原注册资本数额增减超过20%时,应持资金使用证明或验资证明,向原登记主管机关申请变更登记。扩展...
  • 开会会议记录怎么写
    • 2024-06-28 13:22:45
    • 提问者: 未知
    会议记录格式范文  在会议过程中,由记录人员把会议的组织情况和具体内容记录下来,就形成了会议记录。“记”有详记与略记之别。略记是记会议大要,会议上的重要或主要言论。详记则要求记录的项目必须完备,记录的言论必须详细完整。若需要留下包括上述内容的会议记录则要靠“录”。“录”有笔录、音录和影像录几种,对会议记录而言,音录、像录通常只是手段,最终还要将录下的内容还原成文字。笔录也常常要借助音录、像录,以之...
  • 任职前谈话记录怎么写?
    • 2024-06-28 18:29:28
    • 提问者: 未知
    任职前谈话记录。你就按正常的谈话沟通要素来基本讲了,重要的你给他备注好。32313133353236313431303231363533e58685e5aeb931333433633963尽量写得简洁明了。模板如下: 新任领导干部任前廉政谈话任前廉政谈话制度是党内一项重要制度,是加强领导干部教育、管理和监督,促进领导干部廉洁从政...
  • 双向链表的顺序插入算法
    • 2024-06-28 07:01:53
    • 提问者: 未知
    include#include typedef struct tagdbnode { int num;struct tagdbnode*pre;struct tagdbnode*next;} dbnode,*pdbnode;创建结点 pdbnode createnode(int num){ pdbnode ...
  • 头条如何更好的插入程序代码?
    • 2024-06-28 01:39:40
    • 提问者: 未知
    我也遇到了跟你差不多的问题,在编辑中,插入代码块,在编辑页面看的时候格式都是好的,但是发布以后,格式就变了,全部乱了,要不就是全部左对齐了,不晓得,你遇到的...
  • 幼儿园家访记录表怎么写
    • 2024-06-28 08:16:55
    • 提问者: 未知
    幼儿园小班家访记录表怎么写做一个表格,每个孩子一张。内容包括:幼儿姓名、孩子在家表现、对幼儿园的建议以及意见、希望幼儿园在哪些方面加大力度最后让被家访人签名。...
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。