创建、更新和删除文档

一、插入并保存文档

insert方法

1.单数据插入

db.study.insert({
    
    "name":"赵六",
    "age":20,
    "sex":0,
    "address":"北京,海淀"
    
    })

2.批量插入

for (var i = 0; i < 5; i++){
db.study.insert({
    
    "name" : "李四1",
    "age" : 1.0+i,
    "sex" : 1.0,
    "address" : "甘肃,武威"+i
    })
    
}

 

二、删除文档

1.remove方法智慧删除

db.study.remove({
    
    "name":"赵六"
    
    })

2.drop直接删除集合

三、更新文档

update 有两个参数1是寻找目标,2是将要修改成啥

1.文档替换

var lisi = db.study.findOne({"name":"李四1"});
lisi.info = {
    "age":lisi.age,
    "sex":lisi.sex,
    };
delete lisi.age;
delete lisi.sex;
db.study.update({"name":"李四1"},lisi)

2.使用修改器

 $inc   必须是数字执行1次在pageviews上加1

db.analytics.update({"url":"www.baidu.com"},{"$inc":{"pageviews":1}})

$set  用来指定一个字段,如果这个字段不存在,则创建,有则修改

db.study.update({name:"李四2"},{"$set":{"age":21}})

$unset 删除字段(键值对)

db.study.update({name:"李四2"},{"$unset":{"lovly":"food"}})

$push 有字段则在数组中添加值,没有字段新增 键值对

db.study.update({name:"李四2"},{"$push":{"content":{
    
    "name" : "李四2",
    "age" : 22.0,
    "sex" : 1.0,
    }}})

$each 添加多条数据

db.study.update({name:"李四2"},{"$push":{"content":{"$each":[{
    
    "name" : "李四3",
    "age" : 21.0,
    "sex" : 1.0},{
    
    "name" : "李四4",
    "age" : 23.0,
    "sex" : 1.0},
    {
    
    "name" : "李四5",
    "age" : 26.0,
    "sex" : 1.0}]
    }}})

$slice 值必须为负数 和$push组合使用,其负数的值是push数据的最大数

db.blog.update({"title":"test3"},
    {"$push":{"top3":{"$each":[ {"name":"zhang","num":1},
    {"name":"li","num":2},
    {"name":"wang","num":3},
    {"name":"liu","num":4},
    {"name":"kang","num":5}],
    "$slice":-3,
    "$sort":{"num":-1
    }}}})
结果:

{
"_id" : ObjectId("5f1fba699da18cf3e2cf8073"),
"title" : "test3",
"content" : "There is study",
"date" : ISODate("2020-07-28T05:40:57.366Z"),
"study" : [
"english",
"chinese"
],
"top3" : [
{
"name" : "wang",
"num" : 3.0
},
{
"name" : "li",
"num" : 2.0
},
{
"name" : "zhang",
"num" : 1.0
}
]
}

posted @ 2020-07-29 14:35  蚂蚁KO大象  阅读(242)  评论(0)    收藏  举报