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"]}})

 

posted on 2017-04-25 12:15  上山捉蛇咬仙人  阅读(181)  评论(0编辑  收藏  举报

导航