MongoDB快速入门笔记(三)之MongoDB插入文档操作
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
本文给大家介绍MongoDB的插入文档的方法,一起看看吧
1、文档的数据存储格式为BSON,类似于JSON。MongoDB插入数据时会检验数据中是否有“_id”,如果没有会自动生成。
shell操作有insert和save两种方法。当插入一条数据有“_id”值,并且现在集合中已经有相同的值,使用insert插入时插入不进去,使用save时,会更新数据。
>db.student.drop()
true
>db.student.insert({"_id":1,"name":"zhangsan","age":28})
WriteResult({"nInserted":1})
>db.student.find()
{"_id":1,"name":"zhangsan","age":28}
>db.student.insert({"_id":1,"name":"zhangsan","age":27})
WriteResult({
"nInserted":0,
"writeError":{
"code":11000,
"errmsg":"E11000duplicatekeyerrorcollection:zyhdb.studentindex:_id_dupkey:{:1.0}"
}
})
>db.student.find()
{"_id":1,"name":"zhangsan","age":28}
>db.student.save({"_id":1,"name":"zhangsan","age":27})
WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})
>db.student.find()
{"_id":1,"name":"zhangsan","age":27}
2、批量插入,网上的文档都说不能MongoDB不支持批量插入,现在试过可以,应该是目前的版本支持批量插入了。
>db.student.insert([{"_id":2,"name":"lisi"},{"_id":3,"name":"wangwu"},{"_id":4,"name":"zhaoliu","age":28}])
BulkWriteResult({
"writeErrors":[],
"writeConcernErrors":[],
"nInserted":3,
"nUpserted":0,
"nMatched":0,
"nModified":0,
"nRemoved":0,
"upserted":[]
})
>db.student.find()
{"_id":1,"name":"zhangsan","age":27}
{"_id":,"name":"lisi"}
{"_id":,"name":"wangwu"}
{"_id":4,"name":"zhaoliu","age":28}
3、循环插入:
>for(vari=;i<;i++){db.fortest.insert({num:i})}
WriteResult({"nInserted":})
>db.fortest.find()
{"_id":ObjectId("eceadaeabab"),"num":0}
{"_id":ObjectId("eceadaeabab"),"num":1}
{"_id":ObjectId("eceadaeabab"),"num":2}
{"_id":ObjectId("eceadaeabab"),"num":3}
{"_id":ObjectId("eceadaeabab"),"num":4}
{"_id":ObjectId("eceadaeababa"),"num":5}
{"_id":ObjectId("eceadaeababb"),"num":6}
{"_id":ObjectId("eceadaeababc"),"num":7}
{"_id":ObjectId("eceadaeababd"),"num":8}
{"_id":ObjectId("eceadaeababe"),"num":9}
以上所述是小编给大家介绍的MongoDB快速入门笔记(三)之MongoDB插入文档操作的相关知识,希望对大家有所帮助,更多精彩内容,敬请关注毛票票网站!