栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用mongoose在MongoDB中批量上传

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用mongoose在MongoDB中批量上传

不在具体的“猫鼬”中,或者至少在撰写时尚未。从2.6版本开始,MongoDB shell实际上“在幕后”
使用了“批量操作API
”,就像所有常规辅助方法一样。在其实现中,它首先尝试执行此操作,如果检测到较旧版本的服务器,则对旧版实现会有“退路”。

所有的猫鼬方法“当前”都使用“传统”实现或写关注响应和基本的旧方法。但是

.collection
,任何给定的猫鼬模型都有一个访问器,该访问器实际上是从底层的“节点本机驱动程序”中访问“集合对象”,而在该节点上本身实现了猫鼬:

 var mongoose = require('mongoose'),     Schema = mongoose.Schema; mongoose.connect('mongodb://localhost/test'); var sampleSchema  = new Schema({},{ "strict": false }); var Sample = mongoose.model( "Sample", sampleSchema, "sample" ); mongoose.connection.on("open", function(err,conn) {    var bulk = Sample.collection.initializeOrderedBulkOp();    var counter = 0;    // representing a long loop    for ( var x = 0; x < 100000; x++ ) {        bulk.find().upsert().updateOne(         });        counter++;        if ( counter % 1000 == 0 ) bulk.execute(function(err,result) {       bulk = Sample.collection.initializeOrderedBulkOp(); });    }    if ( counter % 1000 != 0 )        bulk.execute(function(err,result) {// maybe do something with result        }); });

最主要的收获是“猫鼬方法”实际上知道可能尚未真正建立连接,并在完成之前“排队”。您正在“挖掘”的本机驱动程序没有这种区别。

因此,您确实必须意识到以某种方式或形式建立了连接。但是您可以使用本机驱动程序方法,只要您对所做的事情保持谨慎即可。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379403.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号