MongoDB插入、更新、删除文档
1 创建数据库并插入数据
use jinxt
db.adou.insert({name:"jinxt",age:"28"}); //刚创建的数据库 jinxt并不在数据库的列表中, 要显示它,我们需要向 jinxt数据库插入一些数据
show dbs
db.dropDatabase(); //删除数据库
2 插入文档
use jinxt
db.adou.insert({name:"jinxt",age:28,sex:"男",tags:["高大","威武","雄壮"]});
document=({name:"jinxt2",age:29,sex:"男",tags:["高大","威武","雄壮"]});
db.adou.insert(document);
db.adou.find();
3 删除文档
db.adou.remove({name:"jinxt"})
4 更新文档
4.1 &inc:只是使用于数字类型,他可以为指定的键对应的数字类型的数值进行加减操作。
db.adou.insert({url:"www.baidu.com",pageviews:52})
db.adou.update({url:"www.baidu.com"},{"$inc":{pageviews:1}})
4.2 $set:用来指定一个键值对,如果存在键就进行修改不存在则进行添加。
db.adou.insert({name:"joe",age:30,sex:"male",location:"WuHan"})
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$set":{"favorite book":"战争与和平"}})
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$set":{"favorite book":"war and peace"}})
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$set":{"favorite book":["天龙八部","倚天屠龙记","三国演义"]}}) //"$set"可以修改数据类型,例如将"favorite book"修改成一个数组。
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$set":{"favorite book":{"desc":"war and peace",price:55}}})
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$set":{"favorite book.desc":"战争与和平"}}) //"$set"修改内嵌文档
4.3 $unset:删除指定键。
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$unset":{"favorite book":1}})
4.4 数组修改
4.4.1 $push:指定的键是数组则增追加新的数值,如果指定的键不是数组则中断当前操作Cannot apply $push/$pushAll modifier to non-array,如果不存在指定的键则创建数组类型的键值对。
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$push":{skill:"java"}})
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$push":{skill:"jsp"}})
4.4.2 $pushAll:批量添加数组数据。
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$pushAll":{skill:["oracle","monogodb"]}})
4.4.3 $addToSet:避免重复的往数组中添加数据。
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$addtoset":{skill:"jsp"}})
4.4.4 $addToSet和$each组合起来,可以添加多个不同的值。
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$addToSet":{skill:{"$each":["oracle","mysql"]}}})
4.4.5 $pop:从指定数组删除一个值1删除最后一个数值,-1删除第一个数值。
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$pop":{skill:-1}})
4.4.6 $pull:删除一个被指定的数值
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$pull":{skill:"oracle"}})
4.4.7 $pullAll:一次性删除多个指定的数值。
db.adou.update({_id:ObjectId("591000e016cc278089e53f7e")},{"$pullAll":{skill:["oracle","monogodb"]}})