mongo 学习笔记第一个天 增删改


mongo 学习笔记


创建,更新和删除文档


1. 创建


使用insert方法插入文档


db.foo.insert({"bar":"baz"})

使用insertMany 插入多条记录


db.foo.insertMany([{"cnt":1},{"cnt":2}])

2.删除


使用remove() 删除符合条件的文档,但不会删除集合本身


db.foo.remove()

使用deleteOne() 删除满足条件的一条记录


db.foo.deleteOne({})

使用deleteMany() 删除满足条件的多条记录


db.foo.deleteMany({})

3.更新


使用update({},{}) 更新文档


参数1 是条件参数找到要更新的文档


参数2是修改器说明找到的文档用进行哪些修改


修改器


$set

用来指定一个字段的值,如果这个字段不存在则创建


db.users.update({"name":"joe"},{"$set":{"book":"PHP"}})

$unset

删除一个键


db.users.update({"name":"joe"},{"$unset":{"book":1}})

$inc

用于增加或者减少值


db.users.update({"name":"joe"},{"$inc":{"score":10}})

score 键如果不存在则创建


减少10分


db.users.update({"name":"joe"},{"$inc":{"score":-10}})

元素修改器


$push

像已有的数组尾部添加一个元素


如果没有则创建第一个


db.users.update({"name":"joe"},

    {$push:{"comments":

    {"name":"joe","email":"joe@example.com"}

}})

下面是执行3边后的结果


{

    "_id" : ObjectId("584d5494ab50083f4aca88a3"),

    "comments" : [

        {

            "name" : "joe",

            "email" : "example@qq.com"

        },

        {

            "name" : "joe",

            "email" : "example@qq.com"

        },

        {

            "name" : "joe",

            "email" : "example@qq.com"

        }

    ]

}

$slice

保证插入不超过设定的最大长度


db.users.insert({"name":"joe",{

    $push:{"email":

        $each:['123@qq.com','321@qq.com'],

        $slice:-3

    }

}})

最多不能超过设定好的长度,修改设置为负数得到最新的3条


addToSet

保证插入不重复的值


db.tester.updateMany({"num":{$gt:10,$lt:20}},{$addToSet: 

    {"address":"address5"}}

)

如果值里面已经存在重复的值,这个是不会去重


在线交流