目录:
一、MongoDB 简介
二、MongoDB 安装部署
三、MongoDB的 增删改查
四、MongoDB的 数据类型
五、MongoDB的 $关键字 及 $修改器 $set $inc $push $pull $pop
MongoDB: 启动Mongodb mongod --dbpath "数据库目录" mongod --dbpath c:/data/db 默认端口 27017 show dbs 查看所有存在磁盘上的数据库 show tables 查看当前数据库存在磁盘上的数据表 use 数据库 创建数据库或切换数据库 ######使用了不能存在的对象即创建该对象###### 数据库.表名 创建表 概念: Mysql: id name age duixiang hobby 1 jwb 73 2 2 2 ywb 84 1 null MongoDB: [ { "id":1, "name":"jwb", "age":73, "hobby":["ywb","lwb"], "duixiang":{ "id":2, "name":"ywb", "age":84 } }, { "id":2, "name":"ywb", "age":84, "duixiang":{ "id":1, "name":"jwb", "age":73, } } ] mysql mongodb 数据库 数据库 表 collections 列 Field row documents 数据增删改查 增加 insert #db.user.insert({"id":1,"name":"jwb","age":73}) 官方推荐写法 db.user.insertMany([{}]) db.user.insertOne({}) 查看 find db.user.find() db.user.findOne({}) 并列条件 db.user.find({"id":2,"age":85}) 或条件 $or : db.user.find({$or:[{age:73},{name:"ywb"}]}) 同一个字段的 或条件 $in : db.user.find({age:{$in:[73,84,86]}}) 子集检索 : db.user.find({what:{$in:[2,1]}}) 满足所有条件 $all : db.user.find({what:{$all:[2,1,3]}}) 数学比较符: $gt : 大于 db.user.find({age:{$gt: 73}}) $gte: 大于等于 $lt : 小于 $lte: 小于等于 $eq : 等于 :也是等于 "_id" : ObjectId("5c3e84cf1e235402547fa40c") 更新:update 修改器 $set #db.user.update({"age":84}, {$set:{"username":"jinjiaodawangba"}}) 官方推荐写法: db.user.updateOne({"name":"jwb"},{$set:{"age":99}}) db.user.updateMany({"name":"jwb"},{$set:{"age":99}}) 删除:remove / delete #db.user.remove({"age":85}) 官方推荐写法: db.user.deleteOne({"name":"jwb"}) db.user.deleteMany({"name":"jwb"}) $修改器: $set : 暴力修改 $unset : 暴力删除字段 db.user.updateOne({"name":"ywb"},{$unset:{"hobby":1}}) $inc : 引用增加 在原有值的基础上增加 db.user.updateMany({},{$inc:{age:1}}) array修改器: $push 增加元素 :db.user.updateOne({"name":"ywb"},{$push:{"hobby":"jwb"}}) $pull 删除元素 :db.user.updateOne({"name":"ywb"},{$pull:{"hobby":"jwb"}}) $pushAll 迭代增加 :db.user.updateOne({"name":"ywb"},{$pushAll: {"hobby":[1,2,3]}}) $pop 删除最后一条数据/第一条 : 最后一条 db.user.updateOne({"name":"ywb"},{$pop:{"hobby":1}}) 第一条 db.user.updateOne({"name":"ywb"},{$pop:{"hobby":-1}}) $ 字符: ["hj","tt",1,2] # {"hobby":"hj"} hj 是hobby列表中的第0个元素 就把 0 这个数据放在了 $ 中 db.user.updateMany({hobby:"hj"},{$set:{"hobby.$":"喝酒"}}) ###### $ 存储符合条件的元素下标索引 ###### Object操作 db.user.updateOne({"kecheng.name":"python"},{$set:{"kecheng.price":19800}}) db.user.updateOne({"kecheng.name":"python"},{$inc:{"kecheng.price":500}}) Array中的Object db.user.updateOne({"hobby.age":84},{$set:{"hobby.$.age":73}}) Object中的Array db.user.updateOne({"kecheng.class":15},{$set:{"kecheng.class.$":20}}) 数据类型: ObjectID :Documents 自生成的 _id String: 字符串,必须是utf-8 Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写) Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32) Double:浮点数 (没有float类型,所有小数都是Double) Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦) Object:如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典 Null:空数据类型 , 一个特殊的概念,None Null Timestamp:时间戳 Date:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型) MongoDB中的跳过选取排序: skip(5) 跳过五条数据 limit(5) 只显示五条数据 分页 skip(5).limit(5) sort({age:1}) 正序 sort({age:-1}) 倒序 如果三个关键字同时出现,优先级: 1.sort 2.skip 3.limit pymongo: find_one insert_one insert_many update_one update_many delete_one delete_many sort("key",1)