db.getCollection("test").insert( { name :"
一次插入多条:创新互联建站是一家集网站建设,丽水企业网站建设,丽水品牌网站建设,网站定制,丽水网站建设报价,网络营销,网络优化,丽水网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
db.getCollection("test").insert( [ {item: "小学生教材", name :"《小学一年级语文(上册)》", price:12}, {item: "小学生教材", name :"《小学二年级数学(上册)》", price:13}, {item: "初中生教材", name :"《初中一年级物理(上册)》", price:14}, {item: "初中生教材", name :"《初中二年级化学(上册)》", price:15} ] );
(使用insert 命令一次性插入多条文档会比一条一条地插入省肘,这在大数据环境下是必须考虑的问题。多条文档一次性插入,利用了insert 的原子性事务特征,保证所有插入文档要么插入成功,要么不成功)
有序插入多条文档db.getCollection("test").insert( [ {_id:10, item: "小学生教材", name :"《小学一年级语文(下册)》", price:12}, {_id:11, item: "小学生教材", name :"《小学二年级数学(下册)》", price:13}, {_id:12, item: "初中生教材", name :"《初中一年级物理(下册)》", price:14}, {_id:13, item: "初中生教材", name :"《初中二年级化学(下册)》", price:15} ], {ordered: true} );
(假设在test.test集合里已经有二id: l l "的一条文档记录。那么在执行上述命令时,命令执行将失败。也就是一条文档在ids相同的情况下不能重复插入。在ordered:true时,一条都不插入。在ordered:false时,除了出错记录外,其他记录继续插入。)
自定义写出错确认级别(含inse口命令出错返回对象显示)db.getCollection("test").insert( { _id:1, item: "小学生教材", name :"《小学一年级语文(下册)》", price:12 }, {writeConcern: { w:"majority", wtimeout: 5000 }} );
(5000 毫秒。假设在多服务器插入该条文档命令时,因网络拥堵原因,超过5 秒未完成命令操作。该命令将放弃执行,并返回一个出错对象内容)
简化插入命令
两个插入命令:
db.collection.insertOne() //一次性插入一条文档命令(该命令与insert 的区别,可以让程序员确保插入的是一条文档,而不能做多文档操作处理。)
db.collection. insertMany() //一次性插入多条文档命令(显然insertOne()和insertMany()是为程序员偷懒准备的,事实上,它们可以更好地减少程序插入文档的出错率,并提高编程效率,在实际软件项目中是鼓励使用的。)
分享文章:mongodb插入详解
本文网址:http://cxhlcq.cn/article/goicsj.html